惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Y
Y Combinator Blog
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
I
InfoQ
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
MongoDB | Blog
MongoDB | Blog
T
Tor Project blog
The Register - Security
The Register - Security
H
Help Net Security
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
NISL@THU
NISL@THU
P
Palo Alto Networks Blog
B
Blog RSS Feed
Latest news
Latest news
T
Threat Research - Cisco Blogs
The Hacker News
The Hacker News
C
Cisco Blogs
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
S
Schneier on Security
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Google Online Security Blog
Google Online Security Blog
H
Hacker News: Front Page
N
News and Events Feed by Topic
W
WeLiveSecurity

博客园 - D10.天地弦

AWS IoT 消息代理 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 Delphi调用java so [付费视频]Delphi视频Android开发使用静态库(A)和动态库(SO) DSS中间件介绍 求字符串的长度 [DiocpRPC]介绍与安装 发布一个UDP调试助手 VS2013使用rtklib中需要注意的一些问题(编译) [MyBean-插件]MyBean通用报表免费无限制版本发布 [C#-SQLite] SQLite一些奇怪的问题 [Delphi编译错误]F2084 Internal Error: U2107 Diocp截图 [DIOCP视频]-DIOCPFileServer视频 DIOCP 运作核心探密 DIOCP-DIOCPv5的处理能力 【被C折腾系列】用C调DIOCP编码客户端通信 DIOCP-V5发布 MyBean通用报表插件介绍
Delphi inline编译器优化问题
D10.天地弦 · 2016-09-14 · via 博客园 - D10.天地弦
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