我在B11.00 HP-UX上没有发现这个问题。below is my test prog.
void main(int c, char **v)
{
printf("test");
}
HP-UX的cc有如下选项:
-Aa // ANSI 模式。我测试了一下,没有问题。
-Ae // 允许在ANSI模式下使用 HP C 扩展。我测试了一下,没有问题。
在HP-UX 10.30以后,cc的默认选项是-Ae
所以,我建议,如果可能,在高版本的HP-UX上一试。
其实,你的写法很正常,对这种问题不需要太多关注,只要知道就可以了。这种问题,我在 At&T unix往Xenix上移植时碰过,好像是 type func( type arg1, type arg2)的写法不允许,必须是
type func( arg1, arg2)
type arg1;
type arg2;
{
}