在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1478|回复: 2

[求助] gcc编译错误返回值问题

[复制链接]
发表于 2020-3-9 01:36:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大神们,我现在在修改一个gcc的平台,用于系统验证,遇到一个问题,就是每次系统进行仿真时,会首先使用gcc编译写的c文件,但是如果编译出错的话,不会产生bin文件,但是仿真平台还是会继续往下跑,由于gcc编译与执行irun之间的间隔很短,所以凭着肉眼看显然是不行的。
所以大神门,你们知道怎么样在gcc调用makefile编译c文件出错时,给个返回值,让我判断是否需要继续执行irun仿真吗


发表于 2020-3-9 09:31:37 来自手机 | 显示全部楼层
你描述问题的根源在于你gcc编译c代码这个命令行结束后用的是分号(;),分号的意思是前面命令行执行结束后接着执行后面的命令而不用管前面执行的结果。给你两种解决方案:1.  还是用分号不过在gcc命令行结束的分号后加sleep 100s; 这样你就有足够时间去看编译错误。2. gcc命令行之后不加分号而用&&,这样必须gcc命令行执行成功才会执行后面的irun命令行,如果gcc执行挂了irun命令行就不执行了。
 楼主| 发表于 2020-3-10 12:38:05 | 显示全部楼层


saipolo 发表于 2020-3-9 09:31
你描述问题的根源在于你gcc编译c代码这个命令行结束后用的是分号(;),分号的意思是前面命令行执行结束后接 ...


谢谢大神,
sleep 100s的情况我试了一下,只能在单独跑仿真的时候比较实用,但是批量跑case的时候,可能不切实际。

您说的使用&&操作符,我试了一下

command1 && command2
command3;
command4;
发现如果command1失败,不会执行command2,但是还是会执行command3和command4,我是想让这个脚本直接exit。
然后从这个操作符中得到启发,我通过判断command1的返回值$?的值是否等于0,判断脚本是否需要继续执行。

谢谢大神


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-22 15:51 , Processed in 0.013923 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表