本篇文章给大家谈谈c语言dll开发,以及c++ dll开发对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、dll文件如何用C语言生成2、在C语言中,能简单介绍一下DLL是干什么的么?3、用C语言怎么写一个DLL文件?4、用C语言编写DLL5、c语言怎么调用dll文件?
dll文件如何用C语言生成
用 vc 6.0 下的cl.exe 和 link.exe工具,请读下文:
声明:下面这篇文章不是我写的,源自:一个叫,有容乃大 的博客
如何手工编写动态链接库(windows dll)
1.本例介绍在命令行(Console)环境下制作dll的方法
2.读者动手前,请确保在windows中安装有编译、链接工具和必要的函数库文件。
3.本例使用C语言实现.
4.本例中使用路径均为我机器上的绝对路径,读者需根据实际情况调整。
工具要求:
Microsoft的编译器cl.exe
MIcrosoft链接器link.exe
dll制作步骤:
1.编写dll函数实现源代码hello.c
#include
int say_hello(char* name)
{
printf( “hello %s\n “, name);
return 1;
}
2.编写dll函数输出定义文件hello.def.
LIBRARY hello
EXPORTS
say_hello @1
3.编译dll源码,生成dll,lib文件.
3.1 新建命令行窗口
3.2 设置PATH �0�7 INCLUDE �0�7 LIB 3个环境变量.
SET PATH=K:\vcnet\vc7\bin;%PATH%
SET INCLUDE=K:\vcnet\vc7\include;%INCLUDE%
SET LIB=K:\vsnet\Vc7\lib;%LIB%
3.3 编译hello.c
cd K:\Source\dllsample (hello.c和hello.def所在目录)
cl /c hello.c
3.4 链接hello.obj,生成hello.dll,hello.lib两个文件.
link /def:hello.def /dll hello.obj
4.测试dll函数.
4.1 编写测试代码 test.c
extern int say_hello(char* name);
int main(int argc,char** argv)
{
say_hello( “robbie “);
return 0;
}
4.2 编译测试代码test.c
cl /c test.c
4.3 链接test.obj和 hello.lib,生成可执行文件test.exe
link test.obj hello.lib
4.4 运行test.exe,屏幕输出:
hello robbie
至此,一个dll构造完毕.
下面是我自己的一点补充:
如果要在c++下,或者win32 mfc下使用标准c写的dll,必须把上面的声明
extern int say_hello(char* name);改成:extern “C ” int say_hello(char* name);
在C语言中,能简单介绍一下DLL是干什么的么?
exe是可执行文件,里面存的二进制代码,dll也是存的二进制代码,但是不可以自己执行,要有个exe调用它。就像是主函数和其他函数的关系,只不过存的是机器代码。
用C语言怎么写一个DLL文件?
用vc++新建一个dll工程,在里面编写一个函数,然后就可以生成了。
用C语言编写DLL
下面就是一个dll的主函数。加上一个空的导出函数.链接的时候目标是dll或者建立dll工程。连接器里面有设置
#includewindows.h
__declspec(dllexport) void FuncInDll (void)
{}
BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, void* lpReserved)
{
HANDLE g_hModule;
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
g_hModule = (HINSTANCE)hModule;
break;
case DLL_PROCESS_DETACH:
g_hModule=NULL;
break;
}
return TRUE;
}
注册表操作有一系列API函数可以调用。你可以在MSDN搜索以Reg开头的API如RegOpenKey,然后旁边一堆相关的注册表API。
注册表键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加项可以实现开机启动。
当然还有其它方法。
c语言怎么调用dll文件?
1、新建DLLTest文件夹,在该文件夹中新建source文件夹。
2、在source文件夹中造add.c。
3、win+R+cmd请出总指挥“命令行”,输入。
4、继续输入(路径也要随机应变)link /DLL /out:E:\VCfile\DLLTest\source\add.dll E:\VCfile\DLLTest\source\add.obj。
5、新建源文件call_dll.c或.cpp放到DLLTest文件夹,同时add.dll也复制过来。
6、编译,连接运行出现个5。调用成功。
注意事项:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
关于c语言dll开发和c++ dll开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。