摘要:
效率:带参宏比函数效率高,因为,宏是编译之后把代码嵌进去了,而函数调用需要很多的步骤(比如保存现场,恢复现场等操作),但是宏生存的文件体积大,因为,替换一次宏就需要生存一个相应的代码段,而函数不会,函数只会有1次代码量。问题:有参数宏,最大的一个问题就是它对参数的多次求值,而函数只对参数求值一次。比如#define isdigit(c) ('0' <= (c) && (c) <= '9')如果我这样调用isdigit(c=getchar()), 看看问题出来了吧。所以,C标准中规定库函数可以用宏实现,但是必须保证只求值一次。其实C库中 阅读全文
posted @ 2011-08-22 13:30 bug yang 阅读(620) 评论(0) 推荐(0) 编辑