小编bug*_*ing的帖子

gcc/C++:如果 CPU 负载较低,那么代码优化就没有多大用处,对吗?

我的同事喜欢使用 gcc 和“-g -O0”来构建生产二进制文件,因为如果发生核心转储,调试很容易。他说,没有必要使用编译器优化或调整代码,因为他发现生产过程中的 CPU 负载并不高,例如 30% 左右。

我问他原因,他告诉我:如果CPU负载不高,瓶颈一定不是我们的代码性能,而应该是一些IO(磁盘/网络)。因此,使用 gcc -O2 对于改善延迟和吞吐量是没有用的。这也表明我们在代码中没有太多需要改进的地方,因为 CPU 不是瓶颈。那是对的吗?

c++ optimization performance gcc compiler-optimization

5
推荐指数
1
解决办法
1546
查看次数

C和C++编译器为以下代码提供不同的消息,为什么?

我被要求在面试中提供以下代码的输出.

int a[] = {1,2,3,4,5};
int *p = &a + 1;
printf("%d, %d", *(a+1), *(p - 1));
Run Code Online (Sandbox Code Playgroud)

我说我无法确定第二个结果,所以我没能通过采访.

当我回到家中并尝试编译代码时,g ++会报告错误,但gcc只会发出警告.打印结果为"2,5".

任何人都知道为什么C和C++编译器在这方面表现不同?

c c++

2
推荐指数
2
解决办法
368
查看次数

标签 统计

c++ ×2

c ×1

compiler-optimization ×1

gcc ×1

optimization ×1

performance ×1