c++ - 编译和代码优化

标签 c++ c compilation compiler-optimization

我将以非常简单的形式陈述我的问题,即:

如果我输入 C

void main(){
 int a=3+2;
 double b=7/2;
}

什么时候 a 和 b 会被赋予 5 和 3.5 的值,是在我编译代码时还是在运行代码时?

换句话说,当我按下编译时会发生什么?以及它与我按下运行时的情况有何不同,就分配值和进行计算而言,这与编写我的代码有何不同:

void main(){
 int a=5;
 double b=3.5;
}

我问这个是因为我听说过编译器优化,但这不是我的领域。

任何意见,评论将不胜感激。 谢谢。

最佳答案

既然您问的是“代码优化”——一个好的优化编译器会将这段代码优化到 void main(){}ab 将被完全消除。

此外,7/2 == 3,而不是 3.5

关于c++ - 编译和代码优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602310/

相关文章:

c++ - OpenGL 图像加载 64 位深度

c++ - 袖套设置频率?

c - 以原子方式更改文件的属性

将灰度转换为 ascii 并将其写入 .txt 文件

c - Linux: sockaddr_storage 怎么初始化呢?

.net - 使用 CodeDomProvider 编译到内存时,程序集找不到引用的程序集

python - C++ 中的 Crypto++ :Encrypt in Python , 解密

c++ - 使用访问器访问静态 std::set 是明智的还是我应该直接访问它?

php - 从源代码编译 PHP 7

java - 注释中的数组元素用作单个值