1个回答
展开全部
如果你使用的是VISUAL STUDIO
1、从“文件”菜单中,选择“新建”,然后选择“项目…”。
2、从“项目类型”窗格中选择“Visual C++”下的“Win32”。
3、从“模板”窗格中,选择“Win32 控制台应用程序”。
4、为项目选择一个名称,如“MathFuncsDll”,并将其输入“名称”字段。为解决方案选择一个名称,如“DynamicLibrary”,并将其输入“解决方案名称”字段。
5、按“确定”启动 Win32 应用程序向导。在“Win32 应掘备用程序向导”对话框的“概述”页中,按“下一步”。
6、从“Win32 应用程序向导”中的“应用程序设置”页中,选择“应用程序类型”下的“DLL”(如果可用),或者选择“控制台应用程序”(如果“DLL”不可用)。某些版本的 Visual Studio 不支持使用向导创建 DLL 项目。您可以稍后对此进行更改档孝,以将项目编译为 DLL。
7、从“Win32 应用程序向导”的“应用程序设置”页中,选择“附加选项”下的“空项目”。
VC6.0下
1、编写非MFC的DLL库
(1) VC6.0下建立Win32 Dynalmic-Link Library工程mydll。
(2)工程下创建一个mydll.h头文件和mydll.cpp实现文行散稿件。
mydll.h头文件如下:
#ifndef MYDLL_H#define MYDLL_H
#ifdef DLL#define EXTERN extern "C" _declspec(dllexport)#else#define EXTERN extern "C" _declspec(dllimport)#endif
EXTERN int myadd(int, int);
#endif
mydll.cpp实现文件如下:
#define DLL#include "mydll.h"
int myadd(int a, int b){ return a+b;}
(3)编译生成DLL动态库mydll.dll
2、创建一个调用DLL库的应用程序testapp
(1)在VC6.0下建立Win32 Console Application工程,在下一步选择简单应用程序。
(2)修改testapp.cpp文件,实现调用mydll.dll动态库中的函数myadd。实现如下:
#include "stdafx.h"#include <stdio.h>#include <windows.h>typedef int (*padd)(int, int);
int main(int argc, char* argv[]){ HINSTANCE handle = ::LoadLibrary("../../mydll/debug/mydll.dll");//mydll.dll动态库路径 if(handle != NULL) { padd pf = (padd)GetProcAddress(handle,"myadd"); if(pf != NULL) { printf("dll myadd(3,2) = %d", pf(3,2)); }
::FreeLibrary(handle);
} return 0;}
(3)编译生成exe应用程序testapp.exe。
(4)运行testapp.exe,结果如下:
dll myadd(3,2) = 5
1、从“文件”菜单中,选择“新建”,然后选择“项目…”。
2、从“项目类型”窗格中选择“Visual C++”下的“Win32”。
3、从“模板”窗格中,选择“Win32 控制台应用程序”。
4、为项目选择一个名称,如“MathFuncsDll”,并将其输入“名称”字段。为解决方案选择一个名称,如“DynamicLibrary”,并将其输入“解决方案名称”字段。
5、按“确定”启动 Win32 应用程序向导。在“Win32 应掘备用程序向导”对话框的“概述”页中,按“下一步”。
6、从“Win32 应用程序向导”中的“应用程序设置”页中,选择“应用程序类型”下的“DLL”(如果可用),或者选择“控制台应用程序”(如果“DLL”不可用)。某些版本的 Visual Studio 不支持使用向导创建 DLL 项目。您可以稍后对此进行更改档孝,以将项目编译为 DLL。
7、从“Win32 应用程序向导”的“应用程序设置”页中,选择“附加选项”下的“空项目”。
VC6.0下
1、编写非MFC的DLL库
(1) VC6.0下建立Win32 Dynalmic-Link Library工程mydll。
(2)工程下创建一个mydll.h头文件和mydll.cpp实现文行散稿件。
mydll.h头文件如下:
#ifndef MYDLL_H#define MYDLL_H
#ifdef DLL#define EXTERN extern "C" _declspec(dllexport)#else#define EXTERN extern "C" _declspec(dllimport)#endif
EXTERN int myadd(int, int);
#endif
mydll.cpp实现文件如下:
#define DLL#include "mydll.h"
int myadd(int a, int b){ return a+b;}
(3)编译生成DLL动态库mydll.dll
2、创建一个调用DLL库的应用程序testapp
(1)在VC6.0下建立Win32 Console Application工程,在下一步选择简单应用程序。
(2)修改testapp.cpp文件,实现调用mydll.dll动态库中的函数myadd。实现如下:
#include "stdafx.h"#include <stdio.h>#include <windows.h>typedef int (*padd)(int, int);
int main(int argc, char* argv[]){ HINSTANCE handle = ::LoadLibrary("../../mydll/debug/mydll.dll");//mydll.dll动态库路径 if(handle != NULL) { padd pf = (padd)GetProcAddress(handle,"myadd"); if(pf != NULL) { printf("dll myadd(3,2) = %d", pf(3,2)); }
::FreeLibrary(handle);
} return 0;}
(3)编译生成exe应用程序testapp.exe。
(4)运行testapp.exe,结果如下:
dll myadd(3,2) = 5
追问
我创建的是win32的能生成DLL吗?
追答
你用那个编译器?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询