動態鏈結庫呼叫char 返回空的解決辦法

2021-09-03 07:55:05 字數 608 閱讀 6577

請看這個**:

extern "c" __declspec(dllexport) char * __stdcall getstr(char * ddd)

這樣寫,編譯沒有問題,但是,vb呼叫的時候返回的是空的。

vb**如下:

private declare function getstr lib "dll2.dll" (byval variable as string) as string

private sub command2_click()

msgbox getstr("sadfsad")

end sub

用這個試了一下:

char * ddaa="wwwwww";

可能這句有問題,試試先為ddaa new乙個空間,再給它賦值.

**如下:

extern "c" __declspec(dllexport) char * __stdcall getstr(char * ddd)

還是不行!再試,用_tcscpy()賦值。

ddaa="wwwwww";

改為_tcscpy(ddaa, "wwwwww");

馬上試一下。

成功!

動態鏈結庫呼叫char 返回空的解決辦法

請看這個 extern c declspec dllexport char stdcall getstr char ddd 這樣寫,編譯沒有問題,但是,vb呼叫的時候返回的是空的。vb 如下 private declare function getstr lib dll2.dll byval var...

動態鏈結庫呼叫char 返回空的解決辦法

請看這個 extern c declspec dllexport char stdcall getstr char ddd 這樣寫,編譯沒有問題,但是,vb呼叫的時候返回的是空的。vb 如下 private declare function getstr lib dll2.dll byval var...

呼叫靜態鏈結庫和動態鏈結庫

呼叫靜態鏈結庫 靜態鏈結庫由.h和.lib檔案組成,h檔案在工程中用來宣告,而.lib檔案包含供外界呼叫的函式的原型。vc 6.0中呼叫靜態鏈結庫.lib共3種方法 1.首先使用語句 include lib.h 並將lib.h拷貝到當前工程目錄下 接著對staticlib smp.lib使用語句 p...