HP Unix下的cc 不支持void main(int argc,char** argv)

forqzy 2000-06-18 06:39:00
在HP Unix 10.20下用/usr/bin/cc 编译 void main(int argc,char *argv[]);
出错,

error 1705:Function prototypes are an ANSI feature.
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
peterlee99 2000-06-27
  • 打赏
  • 举报
回复
我在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;
{
}

目前的C大多支持你的写法。

SCUM 2000-06-25
  • 打赏
  • 举报
回复
试试 void main(int argc,char * * argv); 行吗
(没把握.)
wuxin 2000-06-19
  • 打赏
  • 举报
回复
试一下:
void main(argc,argv)
int argc,
char*argv[]
{
}

forqzy 2000-06-19
  • 打赏
  • 举报
回复
用 int main(int argc,char *argv[]) ;
/*试过了不行,后来我找了个C++的编译器,总算可以了不过,程序到最后还是出execption,不过不影响运行。*/
forqzy 2000-06-19
  • 打赏
  • 举报
回复
试了不行
void main(argc,argv)
int argc;
char* argv;
{}
/***********************************/
void main(int argc,char* argv[],char* env[]){}
也不行。
halfdream 2000-06-18
  • 打赏
  • 举报
回复
用 int main(int argc,char *argv[]) ;
guan_hb 2000-06-18
  • 打赏
  • 举报
回复
改用标准 C 的格式

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧