2013-08-07 68 views
1

德爾福語法:如何調用函數 「移動」,在C++ Builder中6

procedure Move(const Source; var Dest; Count: Integer); 

C++的語法:

extern PACKAGE void __fastcall Move(const void *Source, void *Dest, int Count); 

我已經使用功能Move在Delphi很久以前,

最近我想在C++ Builder 6中調用它,

我把它寫成和我在Delphi中一樣,

錯誤外觀 - >「表達式語法」。

劑量誰知道如何調用它?

還是還有其他的功能類似嗎?

回答

1
BYTE src[] = "Source Data"; 
BYTE dst[11]; 
Move(src, dst, sizeof(dst)); 

這是更好地使用的memmove在C++:

memmove(dst, src, sizeof(dst)); 
+0

事實證明,移動和的memmove在我的程序所有功能的工作,這是別的地方出了問題我的代碼(我解決)。但我很好奇這兩個功能的區別,你能解釋一下嗎? – APU

+0

第一個函數是delphi(pascal)運行時庫的成員,第二個函數是C++標準庫的成員。你可以在你的代碼中使用它們,它們在性能方面沒有區別。建議使用std C++函數來實現可移植的代碼(可以在GCC或VC++中編譯,...)。 –