C、C++和Objective-C都支持宏定义。宏在编译预处理过程中会进行代码替换。我们可以通过命令行非常容易就能的到一个源文件处理后的结果。
#define kMax 100
int main(int argc, char * argv[]) {
int a = 100;
if (a kMax) {
a++;
}
else {
...
分类:
其他好文 时间:
2015-04-19 16:17:31
阅读次数:
182
自定义快捷键 折叠所有标题Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ColllapseAllHeadings 展开所有标题Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ExpandAllHeadings 全屏快捷键 Alt+V+U, esc退出 可通过录制宏设定F11...
分类:
其他好文 时间:
2015-04-18 11:16:30
阅读次数:
407
转自:www.xuebuyuan.com/2077822.htmlerror: expected ‘)’ before ‘PRId64’原来这个宏定义给c用的,C++要用它,就要定义一个__STDC_FORMAT_MACROS宏显示打开它。c++使用PRID64,需要两步:包含头文件:定义宏:__S...
分类:
其他好文 时间:
2015-04-17 11:09:22
阅读次数:
138
iOS 面试之三道题1、定义宏实现MAX或者MIN.
菜鸟的答案是这样的:
#define MAX(X,Y) X>Y ? X : Y验证:当输入MAX(1 == 3, 2)本来结果期望的是2,可实际结果却是0?
高手的答案是这样的:
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))到这里,或许大部分人都说没有问题了,大学的时候老师都是这么教的啊?你不能再说错了吧。错不...
分类:
移动开发 时间:
2015-04-16 15:46:03
阅读次数:
263
宏定义
/**/
#define M 1000
#define A(object) object
#define F(a,b) (a+b)
#define Concat(a,b) a##b
#define S(a) @#a
main(){
int a;
a = F(100,M);//a = (100 + 1000);
a = Concat(100, 100);/...
分类:
其他好文 时间:
2015-04-15 23:26:01
阅读次数:
111
1.c++中的内联函数和常规函数一样,它们都是函数。也是按值传递的,如果参数是4+7,函数就会被传递为表达式的值,但是宏就不一样了,它就是进行单纯的替换而已,那么在面对定义宏的时候,如果没有处理好的话就会生成我们意想不到的值,这不是我们想要的(在一定的程度上,使用宏没有使用内联函数安全。如果定义的宏...
分类:
其他好文 时间:
2015-04-13 12:22:30
阅读次数:
106
程序的编译过程可以分为预处理、编译、汇编三部分,其中预处理是首先执行的过程,预处理过程扫描程序源代码,对其进行初步的转换,产生新的源代码提供给编译器。
预处理过程读入源代码之后,会检查代码里包含的预处理指令,完成诸如包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码的工作。
通过预编译指令,只会把满足条件的代码编译进来,其他代码不参与编译
1, 指令
预编译指令以 #开头,...
分类:
其他好文 时间:
2015-04-13 11:04:28
阅读次数:
258
Android下log的使用总结一:在源码开发模式下1:包含头文件:#include2:定义宏LOG_TAG#defineLOG_TAG"MYLOGTAG"3:链接log对应的.so库在Android.mk文件中加入如下语句:LOCAL_SHARED_LIBRARIES+=\libcutils接下来...
分类:
移动开发 时间:
2015-04-11 20:37:24
阅读次数:
145
C语言预处理器是个简单的的宏处理器,预处理器用特殊的命令行控制,这些命令行以#开头,不包含预处理器命令的行称为源程序文本行。预处理器通常从源文件中删除所有预处理器命令行,并按预处理器命令指示对源文件进行其它转换,然后,得到的经过预处理的源文本成为有效C语言程序。
下面是常见的预处理器命令:
#define——定义预处理器宏,如果是函数式宏定义,左括号与宏名之间不能有空格,所有参数及整个宏替换最...
分类:
编程语言 时间:
2015-04-08 11:00:34
阅读次数:
236
1 #include 2 using namespace std; 3 #define swap(a,b) {a^= b; b^=a; a^=b;}// 原来还可以这样定义宏 4 5 void RightShift( int *Array, int N, int M ) 6 { 7 i...
分类:
编程语言 时间:
2015-04-01 19:23:01
阅读次数:
210