繁体   English   中英

为什么主P2((ac,av),int ac,char ** av)?

[英]why main P2((ac, av), int ac, char ** av) ?

最近,我正在阅读GSM音频编码的源代码。 这些代码写于1992年或以后。

有一些奇怪的代码,例如:

main P2((ac, av), int ac, char ** av)

void Gsm_Coder P8((S,s,LARc,Nc,bc,Mc,xmaxc,xMc)

这些代码是否使用旧方法? P2或P8的用途是什么?

这些宏使代码与在括号后列出类型的旧式编译器兼容。 例如, P2可以扩展为

main(int ac, char **av)

要么

main(ac,av)
int ac;
char **av;

运行gcc -E以查看预处理后的输出。

28是因为较旧的编译器中的预处理器宏不能具有可变数量的参数,因此每个参数计数都需要一个单独的宏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM