當前位置:首頁 » 編程語言 » c語言調用dll

c語言調用dll

發布時間: 2022-01-10 09:55:21

c語言調用dll

LoadLibrary( "d:\\test.dll" ) ;帶上庫文件所在的全路徑名

❷ c語言怎麼調用別人的dll文件

(1)編寫程序時,你要包含(#include \"什麼.h\") dll文件作者提供 的 頭文件(.h文件) 。
程序里,便和普通函數調用一樣,去調用它的函數。
(2)程序編譯時,你要鏈接 dll文件作者提供 的 (.lib文件) 庫文件。
當然,你可以在源程序里把.lib 名字 寫上,編譯時自動去鏈接,例子:
#pragma comment (lib, \"什麼.lib\")
(3)執行時,要有 .dll 文件. 放在當前文件夾或系統文件夾里

❸ C中如何調用DLL

我建議你去找本,裡面有專門一章講動態庫.

❹ C語言調用C++寫的DLL

C++代碼在開頭和結尾擴上extern "C"{ }即可,其他的估計你應該是內行。

❺ c語言調用dll里的命令並輸出

根據我的猜測,有兩種情況
1.如果voidGetNum(char*s);是把輸入的字元儲存在*s中的話:
#include<WINDOWS.H>
#include<WINBASE.H>
#include<stdio.h>
typedefvoid(*MYPROC)(char*);/*這里要與GetNum的返回值和參數對應*/
voidmain(){
HINSTANCELibHandle;
MYPROCProcAdd;
charch;
charsysbuf[]="GetNum";/*過程名*/
LibHandle=LoadLibrary("GetNum.dll");/*載入dll*/

ProcAdd=(MYPROC)GetProcAddress(
LibHandle,sysbuf);/*獲取函數sysbuf的地址*/
ProcAdd(&ch);
printf("%c ",ch);
}

2.如果你的GetNum是
intGetNum(char*s)
{
inti=0,ans=0;
while(s[i]>='0'&&s[i]<='9')
{
ans=s[i]-'0'+ans*10;
}
returnans;
}

#include<WINDOWS.H>
#include<WINBASE.H>
#include<stdio.h>
typedefint(*MYPROC)(char*);/*改*/
voidmain(){
HINSTANCELibHandle;
MYPROCProcAdd;
chars[100];/*改*/
charsysbuf[]="GetNum";/*過程名*/
LibHandle=LoadLibrary("GetNum.dll");/*載入dll*/

ProcAdd=(MYPROC)GetProcAddress(
LibHandle,sysbuf);/*獲取函數sysbuf的地址*/
scanf("%s",s);/*改*/
printf("%d ",ProcAdd(&s));/*這里調用並輸出結果*/
}

❻ C語言 引用DLL 調用DLL

首先如果有.lib文件的話,直接在最開始加一句 #pragma comment(lib,"1.lib")然後聲明一下Msgbox函數比如你的Msgbox函數是 int Msgbox(char * str1,char *str2);那麼你應該 _declspec(dllimport) int Msgbox(char *str1,char *str2);然後你在函數中就可以直接用Msgbox函數了 第二種是動態載入dll 直接在要用的地方HINSTANCE hinst=LoadLibrary("1.dll");typedef int (*p)(char*,char*);//這個是定義一個函數指針然後用p pfun=(p)GetProcAddress(hinst,"Msgbox");然後就可以調用了

❼ 在C語言中怎樣調用*dll文件,該怎麼處理

生成動態庫文件後,那麼debug目錄下會同時又.lib和.dll文件。
而你的程序中只需加入#pragma comment(lib, "xxxx.lib")就可以調用。這個是微軟的調用方法。在linux下是.so文件;要設置環境變數。話說看書了解下更快。

❽ C語言如何調用DLL

//dll
#include<windows.h>

extern"C"//保持C語言文件

void_declspec(dllexport)tryProc()//定義函數
{
MessageBox(NULL,_T("a"),_T("a"),MB_OK);
}

-------------------------------------

//C

#include<windows.h>

intmain()
{
HMOUDLEdll=LoadLibrary(/*DLL文件名*/);
if(dll!=NULL)
{
FARPROCtry=GetProcAddress(dll,"tryProc");
if(try!=NULL)
{
tryProc();//假如函數有返回值,可以用try()得到返回值
/*_asmcalltryProc*/
}
}
return0;
}

❾ c語言怎麼調用dll文件

由於c的sdk編程的時候調用的api也應該是從dll中導出來的,這樣c應該也是能調用dll的,c語言調用dll文件內部函數的方法如下:
1:用c調用一個載入器LOADER<可能是個api函數>;
2:載入目標dll,比如xx.dll
3:找到需要調用的函數的地址P_FUNC
4:調用FUNC即可

❿ 請問在C語言中可不可以調用DLL中的API

用EXPORT命令

如果要寫c和c++兼容的dll,因為在c和c++下使用了不同的名字修飾規則以及不同的調用約定,所以,如果dll是用c編寫和編譯的,則在用於c++模塊時,函數的聲明前應加上extern 「c」關鍵字,以告訴linker使用c外部連接(即按照c名字修飾規則在外部模塊中尋找函數);反之,如果dll是用c++編寫和編譯的,則在用於c模塊時,函數的聲明前要加上extern 「c++」關鍵字。

熱點內容
3k我的使命腳本 發布:2024-09-20 18:11:43 瀏覽:689
建設銀行密碼怎麼設置 發布:2024-09-20 18:11:04 瀏覽:95
聚合腳本平台 發布:2024-09-20 17:51:55 瀏覽:180
訪問攔截怎麼解除安卓 發布:2024-09-20 17:28:48 瀏覽:275
蘿卜干存儲 發布:2024-09-20 17:21:37 瀏覽:716
蘋果手機如何遷移軟體到安卓手機 發布:2024-09-20 17:21:34 瀏覽:692
查看伺服器ip限制 發布:2024-09-20 16:56:27 瀏覽:389
p搜系統只緩存1頁為什麼 發布:2024-09-20 16:48:51 瀏覽:841
上網的賬號和密碼是什麼東西 發布:2024-09-20 16:31:31 瀏覽:612
安卓手機王者榮耀如何調超高視距 發布:2024-09-20 16:31:30 瀏覽:429