美文网首页
msvc7调用GO静态库

msvc7调用GO静态库

作者: 离骚学 | 来源:发表于2020-05-06 13:14 被阅读0次

使用Go导出静态库,vc7仅支持32位,所以go也是x86版本,win10下导出静态库会误报毒,添加忽略即可

go build -buildmode=c-archive -o *.a *.go

注释掉(或删除)导出的静态库头文件以下内容:

typedef __SIZE_TYPE__ GoUintptr;
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;

这时候得到.a静态库文件,.h头文件

安装MingW 32位,版本建议比较新的版本,我使用的gcc version9.2.0
安装完成后配置环境变量方便使用。
顺便配置vc环境变量方便使用msvc lib工具
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\lib 作为参考

创建一个*.def文件,用来声明导出符号

EXPORTS
          function1  //方法名
          function2

只有方法名
注意:*符号为用户文件名前缀,请大家自行替换

使用gcc来执行下面的操作生成dll文件

gcc *.def *.a -shared -lwinmm -lWs2_32 -o *.dll -Wl,--out-implib,*.dll.a

得到*.dll动态文件

这时,已经有了一个 *.dll 文件和一个 *.def 文件,用MSVC自带的 lib 程序生成MSVC可用的 .lib 文件:

lib /def:*.def  /name:*.dll  /out:**.lib /MACHINE:X86

**为自定义参数

使用方法:*.lib用于编译代码,.dll在使用时动态链接。

相关文章

  • msvc7调用GO静态库

    使用Go导出静态库,vc7仅支持32位,所以go也是x86版本,win10下导出静态库会误报毒,添加忽略即可 注释...

  • C调用go静态库

    Go 生成C动态库.so和静态库.a 源代码 package main import "C" import "fm...

  • Go导出的库给VS使用

    说明:go在windows下可以导出静态库和动态库,静态库是.a文件是不能给vs使用的,也没法转成vs使用的静态库...

  • iOS的Framework静态库

    静态库VS动态库 静态库不需要签名,动态库需要签名。 制作混编静态库 库内部Swift调用OC的头文件Swift调...

  • 用go语言给python3开发模块

    实现方法概述 因为go语言可以生成gcc可用的静态库,我们可以用go语言实现我们需要的功能,然后编译成静态库,再用...

  • dispatch_once执行两次

    动态库A1调用静态库B中的单例方法C 初始化一次 静态库A2调用静态库B中的单例方法C 重新初始化一次 disp...

  • 关于静态库包含静态库调用

    首先创建静态库文件创建好之后,可以把自己项目中所调用别的静态库文件拖到项目中,别忘了勾选项目调用image.png...

  • ios逆向 - fishhook 的原理分析

    一 知识预备 1: 静态库和动态库 我们自己写的代码,会调用很多外部的库,包括静态库,动态库 问题来了,动态库和静...

  • Xcode:脚本打包静态库

    脚本 调用:其中TestSDK为静态库的包名

  • golang 操作mysql

    1 数据库表 2 连接数据库 mysql.go 3 增删改查 user.go 4 入口调用测试 main.go 最...

网友评论

      本文标题:msvc7调用GO静态库

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