gpt4 book ai didi

c - 为什么 main P2((ac, av), int ac, char ** av) ?

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:12 29 4
gpt4 key购买 nike

最近在看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 是因为旧编译器中的预处理器宏不能有可变数量的参数,所以你需要为每个参数计数一个单独的宏。

关于c - 为什么 main P2((ac, av), int ac, char ** av) ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19543761/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com