【发布时间】:2015-10-27 16:04:13
【问题描述】:
以下代码调用Win API有什么区别
代码 #1:
uses
Winapi.ActiveX;
procedure Foo();
var
pv :Pointer;
begin
CoTaskMemFree(pv);
end;
代码 #2:
procedure CoTaskMemFree(
pv: Pointer
); stdcall; external 'ole32.dll';
procedure Foo();
var
pv :Pointer;
begin
CoTaskMemFree(pv);
end;
我注意到代码1的可执行文件大小(161,792字节)大于代码2的可执行文件(23,552字节)。我认为由于 Code 1 也会编译以下单元。
unit Winapi.ActiveX;
uses Winapi.Messages, System.Types, Winapi.Windows;
- 使用 #Code2 上使用的方法还有其他优点吗?
- 这样做有风险吗?
【问题讨论】: