如何手工编写动态链接库(windows dll)
来源:互联网 发布:淘宝买的竹席 编辑:程序博客网 时间:2024/05/16 10:15
如何手工编写动态链接库(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 | INCLUDE | LIB 3个环境变量.SETPATH=K:/vcnet/vc7/bin;%PATH%3.3 编译hello.c
SETINCLUDE=K:/vcnet/vc7/include;%INCLUDE%
SETLIB=K:/vsnet/Vc7/lib;%LIB%
cd K:/Source/dllsample(hello.c和hello.def所在目录)3.4 链接hello.obj,生成hello.dll,hello.lib两个文件.
cl /chello.c
link /def:hello.def /dllhello.obj
4.测试dll函数.
4.1 编写测试代码 test.cextern int say_hello(char*name);4.2 编译测试代码test.c
int main(int argc,char**argv)
{
say_hello("robbie");
return0;
}
cl /c test.c4.3 链接test.obj和 hello.lib,生成可执行文件test.exe
link test.obj hello.lib4.4 运行test.exe,屏幕输出:
hello robbie
至此,一个dll构造完毕.
补充:
*dll构造好后,可以copy到windows/system或者windows/system32目录中,供其它程序共享调用
*你可以单独升级dll,而无需重新编译使用dll的应用程序.
- 如何手工编写动态链接库(windows dll)
- 如何手工编写动态链接库(windows dll)
- 如何手工编写动态链接库(windows dll)
- 手工编写动态链接库
- windows编写动态链接库DLL
- 编写.dll动态链接库
- 关于如何编写动态链接库DLL中的导出类
- 为Symbian编写动态链接库DLL
- 为Symbian编写动态链接库DLL
- 为Symbian编写动态链接库DLL
- 为Symbian编写动态链接库DLL
- 为Symbian编写动态链接库DLL
- 编写VC++动态链接库(DLL)
- 为Symbian编写动态链接库DLL
- VB编写.DLL动态链接库文件
- dll动态链接库文件编写
- 如何编写动态链接库
- windows下动态链接库(dll)
- windows 内核对象
- Ajax如何實現(滾動的)動態圖片切換?
- 与客户“调情”
- 职场杰出人士的20个好习惯
- 2010年3月2日
- 如何手工编写动态链接库(windows dll)
- C# 中Session的用法
- 声明函数指针并实现回调
- 最近没时间写日志了.....
- C#中 父类与子类相互强制转换之实验
- Linux命令:modinfo显示kernel模块信息
- VCL窗口函数注册机制研究手记,兼与MFC比较 (CSDN转载请保留此信息)
- Symbian常用工具用法说明
- 由丰田召回看大规模扩张制造和压缩成本引发质量问题