我目前在动态导入 Delphi DLL 时遇到问题。Delphi DLL 函数声明如下:
function TEST() : PChar; cdecl;
begin
Result := '321 Test 123';
end;
在 C++ 中,我这样称呼它:
typedef char *TestFunc(void);
TestFunc* Function;
HINSTANCE hInstLibrary = LoadLibrary("Test.dll");
if (hInstLibrary)
{
Function = (TestFunc*)GetProcAddress(hInstLibrary, "TEST");
if (Function)
{
printf("%s", Function());
}
}
问题是我只收到字符串的第一个字母。如何告诉 C++ 字符串在第一个字符之后没有结束?
谢谢