本篇文章主要介绍了" Delphi的参数修饰const/var/output 与C++的对应关系",主要涉及到方面的内容,对于Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
delphi的const/input和默认的没有修饰, C都是一样的delphi的var,对应C那边是指针, 调用方需要管理内存(负责分配内存及销毁) ...
delphi的const/input和默认的没有修饰, C++都是一样的
delphi的var,对应C++那边是指针, 调用方需要管理内存(负责分配内存及销毁)
delphi的output , 对应c++那边也是指针 , 如果是 C++调用Delphi DLL, 而Delphi有个形参是out修饰的话, C++调用方传入的指针可以不需要初始化, 因为初始化已经在dll那边完成了.
比如delphi的dll:
function _PLCReadHoldingRegister(const RegNo: word; out Value: word): boolean; stdcall;
begin
Result := False;
if not checkClient then
exit;
g_lock.Enter;
try
Result := g_client.ReadHoldingRegister(RegNo, Value);
SendDebugFmt('_PLCReadHoldingRegister, regNr:%d,val:%d',[RegNo,Value]);
finally
g_lock.Leave;
end;
end;
C++那边应该这样定义
typedef bool(__stdcall* _msrPLCReadHoldingRegister) (WORD,WORD&);
...
WORD lvVal = 0;
if (mRoutines->PLCReadHoldingRegister(30, lvVal)) {
printf(lvVal ...);
}
以上就介绍了 Delphi的参数修饰const/var/output 与C++的对应关系,包括了方面的内容,希望对Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_4324594.html