最近,我正在阅读GSM音频编码的源码。这些代码是在1992年或以后编写的。
有一些奇怪的代码,比如:
main P2((ac, av), int ac, char ** av)
void Gsm_Coder P8((S,s,LARc,Nc,bc,Mc,xmaxc,xMc)这些代码使用的是旧方法吗?P2或P8有什么用?
发布于 2013-10-23 22:00:42
这些宏使代码与在括号后列出类型的旧式编译器兼容。例如,P2可以扩展到
main(int ac, char **av)或
main(ac,av)
int ac;
char **av;运行gcc -E查看预处理后的输出。
2和8是因为旧版编译器中的预处理器宏不能具有可变数量的参数,因此每个参数计数都需要一个单独的宏。
https://stackoverflow.com/questions/19543761
复制相似问题