作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在将 HP-Unix 下的大量 Oracle Pro*C 代码迁移到 Linux 环境。
程序中只定义了这样一个main方法:
main _2a((argc,argv), int argc, char * argv[])
{
...
}
我以前从未见过这样的声明 - 也没有在谷歌上找到任何东西。无论如何,它可以工作,而且据我所知,它被用作主要功能。
谁能说说这件事?
编辑:很好的提示 - 有一个宏定义:
# define _2a(list,a1,a2) list a1;a2;
仍然看不清楚(对我来说..)
最佳答案
这个宏用来制作K&R C -style 函数定义看起来更像“现代”C89 定义。
扩展代码如下:
main (argc,argv) int argc;char * argv[];
{
...
}
或者使用更好的缩进:
main(argc, argv)
int argc;
char *argv[];
{
...
}
这是一种古老的书写方式:
int main(int argc, char *argv[])
{
...
}
关于c - 这个声明从哪里来 : main _2a((argc, argv), int argc, char * argv[]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26998002/
我是一名优秀的程序员,十分优秀!