1、前言 今天看代码时候,遇到一些宏,之前没有见过,感觉挺新鲜。如是上网google一下,顺便总结一下,方便以后学习和运用。C语言程序中广泛的使用宏定义,采用关键字define进行定义,宏只是一种简单的字符串替换,根据是否带参数分为无参和带参。宏的简单应用很容易掌握,今天主要总结一下宏的特殊符号及惯 ...
分类:
编程语言 时间:
2016-11-05 18:01:50
阅读次数:
257
一、预定义__GNUC__宏 1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏。需要针对gcc编写代码时, 可以使用该宏进行条件编译。 2 __GNUC__ 的值表示gcc的版本。需要针对gcc特定版本编写代码时,也可以使用该宏进行条件编译。 3 __GNUC__ 的类型是“int”,该... ...
分类:
其他好文 时间:
2016-10-12 19:46:09
阅读次数:
148
C标准中一些预定义的宏 C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 宏 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表当前源代码文件名的字符串文字 __LINE__ 代表当前源代码中的行号 ...
分类:
其他好文 时间:
2016-10-02 12:58:12
阅读次数:
157
预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包 ...
分类:
其他好文 时间:
2016-10-01 22:24:47
阅读次数:
155
1. 关于C++中的宏定义,宏展开还是有一些奇淫技巧的。参考:#define命令的一些高级用法。 2. 宏定义更多的还是用于预编译处理中,就是为了防止头文件被重复包含那种。 3. 关于C++中头文件、库函数、命名空间的关系 知乎上有人这样说道:头文件是编译时编译器的预处理部分要用的,库文件是链接器要 ...
分类:
其他好文 时间:
2016-10-01 17:00:20
阅读次数:
153
1. C 语言中的宏定义 (1)#define 是预处理器处理的单元实体之一(因此,预处理器只是简单的进行替换,并不(2)#define 定义的宏可以出现在程序的任意位置(包括函数体的内部)(3)#define 定义之后的代码都可以使用这个宏 2. 定义宏常量 (1)#define 定义的宏常量可以 ...
分类:
编程语言 时间:
2016-09-24 14:55:42
阅读次数:
126
定义宏和使用宏 #macro指令用于定义一个VTL模板的重复代码块——宏。下面是一个简单的定义宏的例子: 这段代码定义了一个宏,名字为d,没有参数。下面是使用这个宏的代码: Velocity在遇到#d()的时候,会用"<tr><td></td></tr>"替代上面的#d()这一行。 宏的参数: 宏也 ...
分类:
其他好文 时间:
2016-09-20 13:38:38
阅读次数:
103
1 #define _LARGEFILE_SOURCE //1-3:定义宏:才能让系统支持大于2GB文件复制操作。 2 #define _LARGEFILE64_SOURCE 3 #define _FILE_OFFSET_BITS 64 4 #include<stdio.h> 5 #include< ...
分类:
系统相关 时间:
2016-09-19 19:51:35
阅读次数:
247
创建基于对话框的Win32应用程序(二) —— Button的应用、新建子窗体 可以发现上一节创建的窗体中,点击OK和Cancel两个按钮是没有任何反应的。现在我们来为他们添加退出对话框的功能。 6、首先定义宏替换如下: 7、再在回调函数(Dlg_Proc)中调用响应消息的函数(Dlg_OnComm ...
分类:
移动开发 时间:
2016-09-18 15:25:27
阅读次数:
218
预处理程序 预处理程序语句使用井号(#)标记,这个符号必须是一行中的第一个非空格字符。 #define 语句(这种预定义通常也被称为定义“宏”): #define 语句的基本用途之一就是给符号名称指定程序常量。 例如: #define Constant 1//预处理程序语句后面不要加分号(;) ,因 ...
分类:
其他好文 时间:
2016-09-17 21:45:25
阅读次数:
152