您的位置:首页 > 其它

使用VC脚本编译本地dll调用

2018-01-18 21:26 507 查看
1. 激活环境变量,path,lib,include等

运行C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>vcvars32.bat





注意观察Path, LIB,INCLUDE这几个环境变量,若这里出现异常,后面编译链接会报错

2.编写本地源程序(本文使用C语言)Math.c和Math.h

//Math.c
#define MYDLL __declspec(dllexport)

MYDLL double Add(double a, double b)
{
return a + b;
}

MYDLL double Sub(double a, double b)
{
return a - b;
}

MYDLL double Mul(double a, double b)
{
return a * b;
}


//Math.h
extern double Add(double a, double b);
extern double Sub(double a, double b);
extern double Mul(double a, double b);


3.编译DLL

cl /c Math.c //generate .obj




link  -out:Math.dll /dll Math.obj //generate .dll




dumpbin -exports Math.dll //view dll content




4 编写本地调用DLL的源程序UseMathDll.c

//UseMathDll.c
#include "Math.h"
#include <stdio.h>
// int _tmain(int argc, _TCHAR* argv[]) //c++ feature
int main()
{
double result =  Mul(1.0f, 5.5f);
printf ("result = %f\n",result);
return 0;
}


5 编译并链接本地DLL调用程序

//call the dll
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe" /c UseMathDll.c
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe"  -out:a.exe UseMathDll.obj  Math.obj






从上可以看到从UseMath.c中调用Math.dll的Add函数, 并返回结果输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VC