欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

windows命令行下通过cl命令编译动态链接库示例

发布时间:2024/3/7 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 windows命令行下通过cl命令编译动态链接库示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

    一般在windows下写一个c/c++的动态链接库,我们都是在visual studio或着visual c++这些ide里面进行编译和生成的,今天介绍,如何通过命令行来实现手动编译和生成动态链接库。

    首先,确保我们的系统中安装了visual studio 2019或着其他版本,这样,我们才可以使用命令行工具。

    开始->程序里面找到visual studio 2019这个文件夹,里面有命令行工具。找到"x64 Native Tools Command Prompt for VS 2019",然后点击,打开一个cmd命令行。

    

    我们准备我们的两个简单的程序,一个是动态库,一个是调用动态库的程序:

    test.c

#include <stdlib.h> __declspec(dllexport) int add(int a,int b) {return a + b; }

    main.c

#include <stdio.h> extern int add(int a,int b);int main(){int i = add(1,2);printf("add(1,2)=%d\n",i);return 0; }

    开始编译:

cl -c test.c

    在打开的cmd命令行中,切换到我们的项目目录下,然后运行cl指令:

     

    该命令执行之后,会生成一个test.obj文件,接着,我们运行链接命令:   

link -dll -out:test.dll test.obj

     

    从命令上,我们可以看出,会生成动态链接库test.dll,其实,同时还会生成test.lib,test.exp文件。

    

-----------------------------------------------------------

    以上两步操作,其实可以通过一个命令来完成,就是:

cl /LD test.c

     

    该命令可以直接生成动态链接库dll。

    我们还可以通过dumpbin命令,查看生成的动态库的信息:

dumpbin -exports test.dll

     

     有了动态链接库,我们接着利用这个动态链接库来生成main可执行程序。

cl main.c test.lib

    运行该命令,会生成main.exe程序,在命令行下,可以直接运行:main,就可以看到打印结果:

    

    以上就是在命令行下编译生成动态链接库的过程,如果你的系统里面没有cl指令,可能是没有安装visual studio或者visual c++,如果安装了,进入他自带的命令行工具,就有这些命令了。

总结

以上是生活随笔为你收集整理的windows命令行下通过cl命令编译动态链接库示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。