请教一个可能大家都认为常识的小问题,CCS5.2的编译器支不支持可变参数的宏定义?
如:#define printf(fmt,args…) serial_printf(fmt ,##args)
若是不支持的话,如果我想这么实现,应该怎么做呢?
望大家不吝赐教了,小弟在这感激了。
Yaoming Qin:
应该是支持的,你遇到了问题么
lufei2012:
回复 Yaoming Qin:
是的,编译报错,这一句通不过
#define printf(fmt,args…) serial_printf (fmt ,##args)
是需要设置某个选项吗?如果是的话,希望老师能给出设置步骤,谢谢。
Yaoming Qin:
回复 lufei2012:
这个我到没有仔细研究过,你的这个定义在pc的gcc下面能编译通过么?
lufei2012:
回复 Yaoming Qin:
gcc编译是没有问题的,但是CCS5.2的编译通不过,所以我怀疑是不是某个地方设置的问题,上述宏定义在您的CCS5.2上编译通过了?
Yaoming Qin:
您这个代码是哪里的,是不是您自己写的?另外,您可以参考下compilor的文档
Yaoming Qin:
回复 lufei2012:
在我给您的文档中,你可以参考5.16.1 Extensions,同时也可以参考这个http://processors.wiki.ti.com/index.php/GCC_Extensions_in_TI_Compilers#Enabling_GCC_Language_Extensions
gzz:
回复 Yaoming Qin:
想问下,dsp开发,ccs5.4为何不支持可变参数宏,是需要对编译器进行设置吗?
gzz:
回复 gzz:
通过设置buliding选项Language option可以编译通过
teng li1:
回复 gzz:
请问后来是怎么解决的这个问题?我是在CCS3.3也是遇到了这个问题,没法编译科比那参数长度的宏定义~
Yaoming Qin:
回复 teng li1:
可以看看编译器的文档,如果支持,有相应的参数的。但是您这个版本太老了,不能保证了。
TI中文支持网
