vc6编译dll
㈠ vc++6.0如何生成DLL文件
(1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型。
(2)MyDll.h的内容如下:
以下是引用片段:
extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。
(3)MyDll.cpp的内容如下:
以下是引用片段:
#include "stdafx.h"
#include "windows.h"
#include "MyDll.h"
BOOL APIENTRY DllMain(
HANDLE hMole,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
extern "C" _declspec(dllexport)int sum(int a, int b)
{
return a+b;
}
(4)编译之后产生了MyDll.lib与MyDll.dll两个文件。
㈡ 在Vc6.0里写dll的方法
具体跟MFC的差不多,建立一个控制命令台的平台就行,做好函数的出口,然后编译生成dll文件,在要用的程序中先连接dll文件,然后直接调用函数即可。
记得孙鑫的视频教程中有实例的
㈢ 如何在vc6下纯c编写和使用dll
VC编写dll文件
1、VC++->New->Project->Win32 Dynamic_Link Library;
2、选择创建一个空工程;
首先DLL需要一个头文件,所以新建一个C\C++ Header File
这个头文件中必须包含想要输出的变量和函数,头文件必须定义用于输出的任何符号和数据结构。
例如 :
这里边又一个预定义
#ifdef MYLIBAPI
#else
#define MYLIBAPI extern "C" __declspec(dllimport)
#endif
为什么要加这一句呢?
因为相同的函数被C++编译后在符号库中的名字与C语言编译后的不同,所以如果使用的是标准C就要告诉编译器,要保留原来的名字,这里用extern “C”来实现。
当然DLL还需要一个源文件,在工程中新建一个 C++Source File
代码如下,此代码 中的宏定义是必须的。
编译以后,会在工程的DEBUG文件夹下生成一个DLL文件。这样DLL文件就创建成功。
下面展示一下如何使用这个DLL。代码如下,这里是显示引用DLL。
运行以后程序就会输出:1+2=3
证明调用动态链接库里的 Add函数成功。
