作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将我的 C++ 代码库从 Visual Studio 2k3 迁移到 Visual Studio 2k8。代码包含
#pragma optimize( "a", on )
MSDN says这意味着“假设没有别名”。更高版本的 VS 拒绝编译这个,MSDN 似乎没有说明如何处理包含这个#pragma 的代码。
“假设没有别名”是什么意思,我如何决定如何处理这行代码?
最佳答案
别名是当你有这样的东西时:
int a[100];
int * p1 = &a[50];
int * p2 = &a[52];
现在 a、p1 和 p2 都是数组或数组的一部分的别名。这种情况会阻止编译器生成最佳的数组访问代码(FORTRAN 禁止这样做,这就是它在数组性能方面如此出色的原因)。
你问的 pragma 说编译器可以假设上述情况不存在。显然,如果您需要决定是否需要这你可以做两件事之一:
选择权在你:-)
关于c++ - 如何将包含#pragma optimize( "a") 的代码从 VC++7 移植到 VC++9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1299422/
我是一名优秀的程序员,十分优秀!