腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
编译器
优化
会
破坏
我
的
代码
?
、
我
对这段
代码
有一些问题。它在调试模式下工作,但在发布模式下,某些csv线路
会
错误地输出0.0。只有当我在第19行添加了关闭
优化
的
预处理器命令时,一切才开始在发布模式下工作。有没有人知道
为什么
会
这样,
我
以前从来没有遇到过这种行为。
浏览 25
提问于2020-12-03
得票数 3
回答已采纳
1
回答
为什么
编译器
不
优化
中断
代码
?
、
、
、
最近,
我
遇到了一个问题,一个变量仅在中断处理程序中被修改。变量本身并没有被声明为易失性,所以在更高
的
优化
级别上,
编译器
破坏
了
代码
。但是,
编译器
足够聪明地编译中断
代码
,因为中断仍然
会
触发。以下是
我
的
问题: 在更高
的</
浏览 2
提问于2014-08-29
得票数 1
回答已采纳
2
回答
编译器
优化
会
破坏
多线程
代码
。
、
、
在经历了
的
艰难学习之后,
我
现在遇到了另一个问题。要么是
我
做错了什么,要么是dmd中现有的
编译器
优化
可以通过重新排序读取shared变量来
破坏
多线程
代码
。例如,当我用dmd -O (完全
优化
)编译可执行文件时,
编译器
很高兴地
优化
了这段
代码
中
的
局部变量o (其中cas是的比较和交换函数)。cas( &cnt, cnt, cnt + 1 ) ) { } } 在“
优化</e
浏览 1
提问于2010-11-12
得票数 8
回答已采纳
5
回答
哪些C++
编译器
会
进行尾递归
优化
?
、
、
在我看来,在C和C++中同时进行尾递归
优化
会
非常好,但在调试过程中,
我
似乎从来没有看到一个框架堆栈来表示这种
优化
。这很好,因为堆栈告诉
我
递归有多深。然而,
优化
也是很好
的
。有没有C++
编译器
做过这样
的
优化
?
为什么
?
为什么
不行?微软-O3
的
:/O2或 GCC:-O2或MSVC 如何检查<em
浏览 166
提问于2008-08-29
得票数 160
回答已采纳
1
回答
为什么
优化
会
破坏
这段C
代码
?
、
、
、
有没有人明白
为什么
-O2
会
破坏
这段
代码
?
我
怀疑这是gcc
的
一个bug,因为它在不同
的
平台和不同版本
的
gcc上都能很好地工作。然而,也有可能
代码
中包含了一些
我
不知道
的
特性。有没有人能开导
我
?这是
代码
,它是一个可变数量
的
嵌套循环
的
实现,产生所有可能
的
组合。预期输出为010 2110 3
浏览 0
提问于2012-10-18
得票数 5
1
回答
编译器
优化
破坏
代码
、
、
、
、
我
已经解决了所有的4级
编译器
警告,而且在任何地方都没有未初始化
的
变量(在这种情况下,这通常是
我
的
第一个怀疑)。 这是一个很难解释,因为
我
甚至不知道到底是怎么回事,所以请容忍
我
。遗憾
的
是,
我
无法进一步缩小
代码
的
范围,因为这将使bug消失,并解释每一行所做
的
工作将花费相当长
的
时间,而且在这里不太相关。
我
几乎肯定这是
编译器
优化
浏览 1
提问于2016-01-17
得票数 3
1
回答
tsc
编译器
会
破坏
我
的
代码
、
、
我
用打字本写了这段
代码
import Promise from 'bluebird'; console.error(error);...exports.default = Redis
我
不知道
为什么
'redis.createClient(uri);just b
浏览 4
提问于2017-04-19
得票数 3
回答已采纳
2
回答
Clang
优化
会
破坏
代码
?
、
、
、
我
试着准备了最少可行
的
代码
示例:#include <inttypes.h>}Apple LLVM version 7.0.2 (clang-700.1.81)应用程序
的
输出因不同
的
优化
模式而不同这里是
优化<
浏览 4
提问于2015-12-24
得票数 0
回答已采纳
4
回答
.NET JIT
编译器
易失性
优化
、
、
、
、
在本例中,.NET 4.5JIT
编译器
可能
会
重写循环如下:在单线程情况下,这种转换是完全合法
的
,一般来说,提升读出循环是一个很好
的
优化
。但是,如果在另一个线程上将_flag设置为false,则
优化
会
导致挂起。 注意,如果_flag字段是不稳定
的
,JIT
编译器
将不会提升循环中读取
的
内容。(有关此模式
的
更详细说明,请参阅12月文章中
的</
浏览 0
提问于2018-10-01
得票数 14
回答已采纳
1
回答
Google Closure Compiler打破高级
优化
脚本
我
正在尝试构建一个google chrome扩展,最后使用google closure
编译器
进行高级
优化
,但它最终
破坏
了脚本,并引入了未定义
的
'e‘等等。在简单
优化
上,它可以工作,想知道什么可能
会
导致脚本崩溃,以及是否有任何
我
不应该在
我
的
代码
中做
的
事情,最终在高级
优化
模式下不兼容。
浏览 0
提问于2014-08-28
得票数 0
5
回答
为什么
编译器
优化
会
破坏
这种功能?(涉及
的
线程)
、
、
、
有一个使用循环正常工作
的
线程 // Sleep if requested shutdown_ok = 1; } return 0;主线程上可能
会
杀死它
的
函数但在
优化
代码
中,它被困在shutdown函数
的
while
浏览 1
提问于2010-12-14
得票数 0
回答已采纳
11
回答
我
如何知道
编译器
是否
破坏
了
我
的
代码
,如果是
编译器
,
我
该怎么办?
、
在使用某种级别的
优化
编译时,C++
代码
偶尔将无法工作。它可能是
编译器
在进行
优化
,
破坏
了
代码
,也可能是包含未定义行为
的
代码
,它允许
编译器
做它想做
的
任何事情。假设
我
有一些
代码
,在编译时只使用更高
的
优化
级别就会中断。
我
如何知道它是
代码
还是
编译器
,如果是
编译器
,
我
该
浏览 0
提问于2011-09-26
得票数 15
1
回答
澄清显着
的
单名
代码
、
最近,
我
研究了
我
的
项目的开源
代码
,并遇到了以下
代码
。如果不这样做,
编译器
会
破坏
代码
吗? 有人能更清楚地解释一下吗?
浏览 0
提问于2018-10-03
得票数 1
回答已采纳
3
回答
clang:在OS X中分析时如何获取源
代码
信息
、
、
、
我
使用clang 703.0.31编译了一个基准测试。首先使用-c -flto -O3 -g (和其他一些标志)将所有源
代码
编译成目标文件,然后使用相同
的
clang (使用苹果LLVM 7.3.0,使用ld)将它们与-g -flto链接到一个可执行文件中。当我试图分析可执行文件时,
我
可以看到函数名和反汇编程序,但它们与源
代码
之间没有对应关系。dsymutil on this exe
会
产生这样
的
结果:警告:(x86_x64) /tmp/lto.o无法打
浏览 1
提问于2016-06-09
得票数 2
11
回答
编译器
所做
的
优化
什么时候可以销毁
我
的
C++
代码
?
、
编译器
所做
的
优化
何时会导致
我
的
C++
代码
显示出错误
的
行为,如果没有执行这些
优化
,这些行为就不会出现?例如,在某些情况下不使用volatile可能
会
导致程序行为不正确(例如,不从内存中重新读取变量
的
值,而只读取它一次并将其存储在寄存器中)。但是,在打开最激进
的
优化
标志之前,是否还有其他应该知道
的
陷阱,然后想知道
为什么
程序不再工作了?
浏览 0
提问于2010-09-02
得票数 10
回答已采纳
2
回答
为什么
@SuppressWarning
会
破坏
我
的
代码
?
、
、
不管怎样,
我
的
代码
是这样
的
:{ public Slice(Class<E> elementType, int/@SuppresWarnings({"unchecked"}) }
我
删掉了不必要
的
东西当我取消对它
浏览 3
提问于2009-08-13
得票数 1
回答已采纳
1
回答
调试
优化
的
构建
会
导致程序
的
行为不同吗?
、
、
我
正在为一个应用程序开发一个插件。由于SDK
的
一些古怪之处,
我
只能将插件构建为发行版。最重要
的
是,如果
我
关闭
优化
,
我
可以通过它很好。
我
知道
我
不应该调试
浏览 1
提问于2014-12-03
得票数 0
1
回答
奇怪
的
循环缓冲行为
、
、
编辑:用于引用原始
代码
:class RingBufferpublic: compilerbarrier(); return true;然后,
我
创建了独立
的
生产者和消费者线程请注意,缓冲区
的
大小比循
浏览 3
提问于2015-09-11
得票数 2
回答已采纳
1
回答
VS2017 C++调试器跳过
代码
行
、
、
、
我
做了一个快速搜索,没有找到类似这个问题
的
任何东西。也许
我
不知道怎么搜索这个,对不起。
我
最近从VS2015转到了VS2017 (社区版)。
我
参与了一个使用C++进行开发
的
项目。有时,
我
需要像往常一样调试。
我
注意到VS2017上
的
调试器不能像2015版本那样工作。
我
不知道这是不是配置问题。 问题是跳过、步进、步出不能以预期
的
方式工作(执行
代码
行并移动到下一行/等)。<e
浏览 54
提问于2019-04-19
得票数 0
2
回答
C++
编译器
优化
与短路评估
、
、
这是
我
的
代码
:函数f()有副作用,必须始终执行。通常,只有正确
的
操作数可以短路,这段
代码
应该可以工作.但恐怕有些
编译器
会
逆转这两个操作数,因为短路功能评估比简单
的
变量评估更有效。
我
知道g++ -O3可以
破坏
一些规范,但我不知道这段
代码
是否会受到影响。
我
知道,但我
浏览 4
提问于2015-06-25
得票数 8
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券