当前位置:首页 » 编程语言 » 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++”关键字。

热点内容
华为至尊平板电脑是什么配置 发布:2024-09-20 20:47:47 浏览:291
shell脚本字符串查找 发布:2024-09-20 20:47:44 浏览:273
如何在服务器上搭建linux系统 发布:2024-09-20 20:43:32 浏览:385
上传汽车保单 发布:2024-09-20 20:30:46 浏览:435
樱花服务器测试ip 发布:2024-09-20 20:10:39 浏览:279
炉石传说安卓怎么玩 发布:2024-09-20 20:09:59 浏览:312
ios开会员为什么比安卓贵 发布:2024-09-20 20:09:55 浏览:568
缓存服务器redis 发布:2024-09-20 20:09:01 浏览:75
优酷上传ts 发布:2024-09-20 19:55:58 浏览:273
minecraft怎么开服务器地址 发布:2024-09-20 19:52:14 浏览:651