- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 DllMain函数
1. 该函数的地位相当于main or WinMain2. 该函数属于dll的内部函数,而非导出函数。不能被调用,而是自动被调用3. 参数的含义BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved);APIENTRY被定义为__stdcall,它意味着这个函数以标准Pa
2007-12-05 14:40:00 709
原创 dll定义和调用的一般概念
1. dll的定义:以某种特定的方式声明导出函数。两种方式(1) 在函数声明中加上 __declspec(dllexport)(2) 采用.def文件,使用的时候建立下面的文件,并删除dll的头文件。 .def文件的规则为: a. LIBRARY语句说明.def文件相应的DLL; b. EXPORTS语句后列出要导出函数的名称。可以在.def文件中的导出函数名后加@n
2007-12-05 14:26:00 499
原创 动态链接库的调用
第一种调用方式,动态加载 #include typedef int (*lpAddFun)(int, int);int main(){ HINSTANCE hDll = LoadLibrary("mydll.dll"); if (hDll) { lpAddFun addFun = (lpAddFun)GetProcAddress(hD
2007-12-05 14:14:00 449
原创 动态链接库的生成
//file: mydll.h#ifndef MYDLL_H#define MYDLL_Hextern "C" __declspec(dllexport) int add(int x, int y);#endif //file: mydll.cpp#include "mydll.h"int add(int x, int y){ return x +
2007-12-05 13:49:00 441
原创 静态链接库的调用
将上例生成的.lib文件拷贝到本工程下:#include "mylib.h"#pragma comment(lib, "mylib.lib") int main(){ int nResult = add(2, 3); return 0;}注意,1.需要包含库文件的头文件mylib.h2.需要声明本文件生成的.obj文件应该与.lib文件一起链接,
2007-12-05 12:02:00 941
原创 静态链接库的生成
静态链接库的生成://file: mylib.h#ifndef MYLIB_H#define MYLIB_Hextern "C" int add(int x, int y);#endif //file: mylib.cpp#include "mylib.h"int add(int x, int y){ return x + y;}编译此文件
2007-12-05 11:49:00 241
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人