我正在考虑编写最佳方法C定义了能够处理宏的处理器。不幸的是,我脑海中没有任何聪明的东西。 应该表现得完全像一个在Ç,所以它处理的表达式是这样的:C宏处理
#define max(a, b) (a > b ? a : b)
printf("%d\n", max(a, b));
或者这样:
#define F 10
#define max(a, b) (a > b ? a : b)
printf("%d\n", max(a, F));
我知道的安装和给K & R2的查找功能,还有什么我需要 替换括号内的文字吗? 有没有人有任何建议或一些伪代码可能? 我知道这是一项复杂的任务,但仍然是最好的方法来做到这一点?
C中的内置宏系统有什么问题?或者这是为了一些其他应用程序? – jimka 2009-11-16 05:35:00
你为什么要用这个?你能用'gcc -E'来查看预处理输出吗? – jtbandes 2009-11-16 05:36:30
绝对没有,我只是不会写简单的版本,就像练习一样,也不知道如何处理参数。 – paleman 2009-11-16 05:38:13