10年专注百货产品质量有保 售后7×24小时服务
24小时咨询热线:4006666666
联系我们
百货有限公司
全国免费服务热线:4006666666
地址 :中国·北京
联系人:陈经理
您的位置: 首页>>热门话题>>正文
热门话题

用clang编译链接执行器都崩溃,为什么gcc下就没有问题?

时间:2023-06-01 作者:admin666ss 点击:13次

最近在一个C,开源项目中发现了一个奇怪的问题。我每次通过clang编译链接执行器都崩溃,但是gcc下就没有这个问题。

后来经过调试发现原因是bool返回的方法没有return语句!问题是,为什么能编?

这些列如下所示:

用g编译,得到了一个警告但是通过了,执行得到了正确的预期,

用clang编译同样类似的警告,也通过了,但是指令执行异常,

出于好奇,想知道为什么会有不同的结果。您希望通过程序集语法来查询差异,

g,组装说明如下:

铿锵,组装说明如下:

差异是通过yes方法找到的,

Gcc装配有返回指令,可以正常返回,

原因是gcc和llvm对于声明返回值而没有返回语句的编译方法有不同的处理结果。g,都保证通过,而clang认为不可能处理退出程序。

用clang编译链接执行器都崩溃,为什么gcc下就没有问题? 热门话题

发表评论