美文网首页
C语言编译成dll

C语言编译成dll

作者: 快落的小凶许 | 来源:发表于2019-10-09 16:17 被阅读0次

首先c语言在开始要加上

#ifdef __cplusplus

extern "C" {

#endif

       …被导出的方法名称

#ifdef __cplusplus

}

#endif

不然系统会将起当做c++,转成的dll中的方法名称会被转义。在实现的方法名称前面加上__declspec(dllexport)


1.    Gcc:gcc –shared -o xxxx.dll xxxx.c 可以直接将.c文件转成dll文件。在实际引用中,我是将所有的#include都是放在.c文件中的,上述的注意代码也是放在.c中的,他的头文件是直接抛弃掉了。

2.    Vc创建一个c++的项目,文件-新建-新建项目-其他语言-Visual C++  - Win32 控制台应用程序;勾选DLL和导出符号,.c需要修改成.cpp,右键-属性-预编译头-不使用预编译头,右击项目“重新生成”。

1实地使用过确认可以使用,2未尝试过但是在使用c++转出dll是没有问题的


在导出过程中我们可以使用vs自带一个工具来查询生成的dll中有那些方法,例如:

 

Vs安装路径下:C:\vs 2012\VC\bin\dumpbin.exe,可能会报一个缺少“mspdb110.dll”文件的错误,直接将安装路径下:C:\vs 2012\Common7\IDE下面的该文件复制粘贴到C:\vs 2012\VC\bin\下面。

用法是,先cd到dumpbin的路径下,dumpbin –exports  xxxx.dll

相关文章

  • C语言编译成dll

    首先c语言在开始要加上 #ifdef __cplusplus extern "C" { #endif …被导出的...

  • matlab转c++的dll动态库

    Matlab 的代码编译器 mcc 可以创建基于 C 语言的 dll 以及基于 C++语言的 dll。 为了简单起...

  • C#调用OpenCV函数的实现

    C#调用OpenCV函数的实现步骤:1、C++编写调用OpenCV函数的方法,编译成dll;2、C#引用C++生成...

  • C++调用matlab代码

    主要通过 mex将matlab代码编译成C/C++动态链接库(dll) 编写matlab函数 设置编译器 编译ma...

  • C# 结合 Golang 开发

    1. 实现方式与语法形式 基本方式:将 Go 程序编译成 DLL 供 C# 调用。 1.1 Go代码 注意:代码中...

  • go编译dll给python调用

    go 编译成dll动态库 将生成的dll拷贝到python目录下 python调用代码

  • lua简介

    C#与Lua的区别:(C#需要编译而lua不需要)C#只能在特定的操作系统中进行编译成dll文件,然后打包进安装包...

  • AutoHotKey技巧3:保存截图为bmp文件

    在我的另外一篇文章《C/C++:保存剪贴板截图为bmp文件(编译成dll供python调用)》中,讲到了怎么利用w...

  • OC对象的本质

    OC的底层实现 OC代码底层实现都是由OC编译成C/C++,然后再编译成汇编语言最后转变成机器语言。所以由此可见,...

  • kotlin学习笔记

    1.1kotlin简介:JetBrains发布。 编译型语言:编译成2进制文件来执行,c,c++,解释型语言:解释...

网友评论

      本文标题:C语言编译成dll

      本文链接:https://www.haomeiwen.com/subject/noygpctx.html