标签:基于 info res efi lsp 使用 dllexport err lang
由dll导出的lib文件: 包含了每一个dll导出函数的符号名和可选择的标识号以及dll文件名,不含有实际的代码(这里的lib文件和静态库是不一样的),其中的导出导入函数都 是跳转指令,直接跳转到DLL中的位置。基于这样一句话可以看出在编译一个程序的时候,编译器先通过头文件知道要使用函数的格式,然后在lib文件中(这 里的lib文件名是可以随便更换的)查找这个函数在dll文件中的具体地址,从而知道这个函数的入口点。其次由于lib包含了dll文件名,所以在执行 exe程序的时候,dll文件的名称是不能更改的。
一、生成DLL
1. 新建DLL工程
生成DLL可以多种方法,这里介绍一种。在VS中,新建一个空的项目,选Win32
Console Application,新建完后修改工程属性:把生成EXE改为生成DLL
2. 源代码:
ShowInfo.h
ShowInfo.c:
3. 编译连接,生成dll.dll文件
ps:
1. 特别要注意要在ShowInfo.c文件的开头加上#define SHOWINFO_EXPORTS
2. 在ShowInfo.h中声明函数的时候要加上 extern "C", 因为如果该函数可能会被c++ 程序调用。
二、
使用DLL
1. 新建工程
新建一个Win32 Console
Application,选择空的工程。
2. 源代码:
main.cpp
#include <windows.h>
#include <iostream>
using namespace std;
typedef
3. 将上面工程生成的dll.dll文件复制到此工程的目录下,保证源文件与DLL文件在同一目录下。如果生成的EXE文件要直接运行,则要保证EXE文件与DLL文件在同一目录下。
4. 编译连接,执行。
标签:基于 info res efi lsp 使用 dllexport err lang
原文地址:http://www.cnblogs.com/azbane/p/7492820.html