You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gcc -std=c17等参数编译C程序遇链接错误求助

解决gcc链接错误:invalid version 2 (max 0) & error adding symbols: bad value

错误原因

你使用的编译命令gcc -std=c17 -Wall -Wextra -pedantic file file.c存在问题——多余的file被gcc当作了要链接的输入文件,但file是系统自带的可执行工具,并非合法的C源文件或目标文件,链接器ld无法识别它的格式,因此抛出版本错误和符号添加失败的报错。

解决方案

修改编译命令,去掉多余的file;如果需要指定输出可执行文件名为file,加上-o参数:

gcc -std=c17 -Wall -Wextra -pedantic file.c -o file

若不需要指定输出名,直接编译生成默认的a.out,使用这条命令即可:

gcc -std=c17 -Wall -Wextra -pedantic file.c

代码验证

你的C代码本身没有语法或逻辑问题:通过fork()创建两个子进程,分别循环输出"A"、"C",父进程循环输出"B",配合fflush(stdout)确保字符及时输出,代码符合C17标准,编译命令修正后即可正常运行。

内容的提问来源于stack exchange,提问作者Freddy-03

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:02:58