使用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
3.编译DLL
4 编写本地调用DLL的源程序UseMathDll.c
5 编译并链接本地DLL调用程序
从上可以看到从UseMath.c中调用Math.dll的Add函数, 并返回结果输出。
运行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函数, 并返回结果输出。
相关文章推荐
- VC2005编译SQLite,生成WINCE上使用的DLL和Lib
- [今天的编程日记, 在vb中使用vc编译的dll实例]
- VC调用vbscript.dll使用其正则表达式库
- vc dll编译和调用
- VC调用vbscript.dll使用其正则表达式库
- VC2005编译SQLite,生成WINCE上使用的DLL和Lib
- 使用vc 编译 wpcap.dll(WpcapSrc_4_0_2.zip版本)时 struct sockaddr_storage编译通不过的解决方法.
- VC2005编译SQLite,生成WINCE上使用的DLL和Lib
- VC2005编译SQLite 生成WINCE上使用的DLL和Lib
- 整理MINGW编译dll使用JNI被java调用的几种方式
- 编译2010年x264最新的代码供VC编译使用DLL与LIB
- VC6中使用VC2005编译的DLL问题
- Java使用JNI调用VC的DLL的一个小例子
- 使用vc封装纯资源dll及调用
- 关于使用vc++调用matlab生成的dll传递数组的问题
- MinGW如何使用VC编译的DLL??
- win32下使用gcc编译供java 调用的dll须知(jni)
- (原创)VB调用DLL(VC)使用结构体参数时的内存对齐及分配的问题.
- java调用vc编译的dll
- Delphi调用VC编译的DLL