摘要: c++中如果函数的参数列表包含多个实参,那么对参数的求值顺序是不确定的。 在谭浩强的《C++程序设计》(第二版)P94中提到,GCC对参数求值是按从右到左的顺序求值的。 但我实测并非如此。 这段程序的输出为: 由此可见,哪怕是对于同一编译器,参数的求值顺序也是不确定的。 在实际使用中,要尽量避免一个 阅读全文
posted @ 2017-09-21 11:43 Leon_Yan 阅读(532) 评论(1) 推荐(1) 编辑
摘要: 宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号。 如定义好#define STRING(x) #x之后,下面二条语句就等价。 char *pChar = "hello"; char *pChar = ST 阅读全文
posted @ 2016-09-24 17:34 Leon_Yan 阅读(1349) 评论(0) 推荐(0) 编辑
摘要: 问题:当运行时错误产生时,我怎样才能得到包含C++文件名和行号的字符串信息?回答:在C++中的__FILE__预编译指示器包含了被编译的文件名,而__LINE__则包含了源代码的行号。 其中__FILE__是一个字符串 char *,__LINE__是一个整形的数字。 实例如下: #include 阅读全文
posted @ 2016-09-23 21:41 Leon_Yan 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1 基本解释 extern可以置于变量或者函数 前,以标示变量或者函数 的定义在别的文件中,提示编译器遇到此变量和函数 时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进 阅读全文
posted @ 2016-09-23 21:40 Leon_Yan 阅读(599) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2016-09-23 19:54 Leon_Yan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 1.编译器gcc的语法顺序 PC: gcc -o ana *.o ${LIBS} 输出可执行文件名 各种目标文件 要链接的库 交叉编译:arm-linux-gcc ${LIBS] *.o -o ana 2.Minigui.config 将/usr/local/etc/MiniGUI.cfg 与 ./ 阅读全文
posted @ 2016-09-23 15:37 Leon_Yan 阅读(364) 评论(0) 推荐(0) 编辑