Delphi inline编译器优化问题
2016-09-14 11:00
513 查看
function Test():Integer; inline; var P:Pointer; begin FreeMem(P); Result := AtomicIncrement(__gr); // __gr是全局变量 ShowMessage('abc'); end; procedure TForm1.btn4Click(Sender: TObject); var r:Integer; begin ShowMessage('ab'); Test(); end;
结论1:
Result := AtomicIncrement(__gr);
这句不会被优化掉
===========================================================================================================================
function Test():Integer; inline; var P:Pointer; begin FreeMem(P); Result := AtomicIncrement(__gr); // __gr全局变量 ShowMessage('abc'); end; procedure TForm1.btn4Click(Sender: TObject); var r:Integer; begin ShowMessage('ab'); r := Test(); end;
结论2:
Result := AtomicIncrement(__gr); // __gr全局变量 这句会被优化掉, 也就是__gr不会 +1
相关文章推荐
- 程序速度性能优化中编译器优化和SSE优化的问题
- auto_inline,inline以及编译器优化之间的关系
- 关于函数传参,传引用 以及编译器的优化问题
- 有关Delphi编译优化的问题
- 编译器的优化问题
- 编译器自动优化导致代码可以先后写的问题
- CLR via C# 读书笔记 2-1 编译器优化导致的问题
- 编译器_keil的优化选项问题
- 轻松搞死VS2008的C++编译器,error PRJ0002,优化编译器遇到问题需要关闭
- 图像检索服务器编写问题记录——拒绝可恶的编译器优化
- 编译器优化选项带来的影响逻辑的问题
- 编译器优化问题
- 防止编译器过度优化导致的并发异常问题
- 一个关于防止编译器优化特定代码的问题
- 调用时编译器的优化问题
- printf被编译器优化导致纯字符串打印问题(gcc不使用标准库)
- 宽字符std::wstring的长度和大小问题?sizeof(std::wstring)是固定的32,说明std::wstring是一个普通的C++类,而且和Delphi不一样,没有负方向,因为那个需要编译器的支持
- IAR 78KOR的编译器优化问题
- 一个函数返回临时对象引起的编译器优化问题
- 编译器的优化问题