如何只对部分代码进行编译优化?

thirdapple 2008-11-22 11:05:00
gcc的编译优化中使用了乱序执行,让我的无锁结构在多线程环境中出错,如果关闭o2代码对于和这部分无关的代码就没办法进行优化了。gcc中有任何的宏命令可以对某一部分代码关闭编译优化么?
...全文
225 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
K行天下 2008-11-22
  • 打赏
  • 举报
回复
分割文件是一个办法
thirdapple 2008-11-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xhs_lh04 的回复:]
没有
线程,不用锁来同步,会出现意想不到的结果,建议还是加上
没有对局部代码进行优先的选项,抱歉
[/Quote]
嗯,是原子操作,所以是可以控制的,但是现在gcc的编译优化把执行顺序打乱了所以出了问题。
brookmill 2008-11-22
  • 打赏
  • 举报
回复
把源代码拆成两个文件吧,在makefile里一个优化一个不优化
Non_Recursive 2008-11-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xhs_lh04 的回复:]
没有
线程,不用锁来同步,会出现意想不到的结果,建议还是加上
没有对局部代码进行优先的选项,抱歉
[/Quote]
up
xhs_lh04 2008-11-22
  • 打赏
  • 举报
回复
没有
线程,不用锁来同步,会出现意想不到的结果,建议还是加上
没有对局部代码进行优先的选项,抱歉
xiaopoy 2008-11-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brookmill 的回复:]
把源代码拆成两个文件吧,在makefile里一个优化一个不优化
[/Quote]
纯帮顶。
pushregistration 2008-11-22
  • 打赏
  • 举报
回复
up
android2008 2008-11-22
  • 打赏
  • 举报
回复
up

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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