虚幻4中变量被优化掉的解决方案
来源:互联网 发布:c语言打开文本文件 编辑:程序博客网 时间:2024/05/29 19:22
虚幻四在运行时候总是出现变量被优化掉从而看不到值得问题,对于测试程序时候来说很麻烦。所以加上这一行就能去掉优化。。
#if PLATFORM_WINDOWS
#pragma optimize("",off)
#endif
代码代码代码
#if PLATFORM_WINDOWS
#pragma optimize("",on)
#endif
第二种方法:
volatile
典型的例子
1
for
(
int
i=0; i<100000; i++);
这个语句用来测试空循环的速度的
但是编译器肯定要把它优化掉,根本就不执行
如果你写成
1
for
(
volatile
int
i=0; i<100000; i++);
它就会执行了
volatile的本意是“易变的”
由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。比如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static
int
i = 0;
int
main(
void
)
{
//...
while
(1)
{
if
(i)
dosomething();
}
}
/*Interruptserviceroutine.*/
void
ISR_2(
void
)
{
i=1;
}
程序的本意是希望ISR_2中断产生时,在main当中调用dosomething函数,但是,由于编译器判断在main函数里面没有修改过i,因此
可能只执行一次对从i到某寄存器的读操作,然后每次if判断都只使用这个寄存器里面的“i副本”,导致dosomething永远也不会被调用。如果将变量加上volatile修饰,则编译器保证对此变量的读写操作都不会被优化(肯定执行)。此例中i也应该如此说明
0 0
- 虚幻4中变量被优化掉的解决方案
- 虚幻4 UI优化
- 虚幻4中实现简单的raymarch
- 虚幻4 添加变量控制UI的渲染,详细教程。
- 虚幻4 内存优化工具
- 虚幻4:优化 CPU Profiling
- 虚幻4 UI加载优化
- 虚幻4的Style
- 在虚幻4中显示Kinect2.0摄像头的画面
- 虚幻4中,android第三方类库的接入
- 虚幻4中SceneDepth , PixelDepth ,Customdepth,CustomDepth StencilValue的区别
- 虚幻4的智能指针
- 虚幻4 材质的编译。
- 虚幻4 shader的使用
- 虚幻4 UObject被删除
- 虚幻4 蓝图被编译成的蓝图汇编代码
- 在虚幻4中使用kinect2.0
- 虚幻4中模型勾边
- android 打开多个Activity,返回到第一个Activity的问题
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- CCBPM工作流引擎的消息机制与设计
- Linux Platform总线+SPI总线分析
- 5.0 小demo 这里不分析 直接代码
- 虚幻4中变量被优化掉的解决方案
- Reverse Bits
- poj 3009 Curling 2.0 (DFS)
- facebook代码review工具-phabricator安装步骤
- jquery $(document).ready() 与window.onload的区别
- OutOfMemory
- Eclipse常用快捷键
- 关于文件/附件下载的Java代码
- EADDRNOTAVAIL网络连接错误