golang在window环境下用cgo编译c语言

简介:

   网上有很多使用cgo的教程了,在这里分享一种非常简单的windows环境下完成cgo编译的方法。

   首先,下载win环境下gcc下载:TDM gcc,安装后会自动加入到PATH下,cmd里就能使用gcc命令。我的电脑上cgywin在使用gcc总是会出问题,如果cgywin的gcc可以正常编译,就无须再另外下载gcc了。

   编写含C语言的go文件:

1
2
3
4
5
6
7
8
9
10
package cgotest
                                                                   
/*
#include <stdio.h>
*/
import  "C"
                                                                   
func PrintHello() {
     C.puts(C.CString( "Hello, world\n" ))
}

   

   在此目录下创建批处理文件cgo.bat:

1
2
C:\Go\pkg\tool\windows_386\cgo cgotest.go
go install


   双击运行cgo.bat就会在该目录下生成 _obj 文件夹:

wKioL1LtJ3TywfzXAAEL81Q4kH4320.jpg

   且会在GOPATH下的pkg生成我们要调用的 cgotest.a 静态链接库

   再需要的源码中的import加入"cgotest"即可。










本文转自 ponpon_ 51CTO博客,原文链接:http://blog.51cto.com/liuxp0827/1355463,如需转载请自行联系原作者
目录
相关文章
|
29天前
|
Ubuntu C语言
在Ubuntu下使用makefile编译C语言工程
在Ubuntu下使用makefile编译C语言工程
|
19小时前
|
存储 Linux C语言
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)-2
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)
|
19小时前
|
自然语言处理 Linux 编译器
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)-1
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)
|
6天前
|
存储 自然语言处理 编译器
C语言:编译和链接(从.c文件到输出结果的过程)
C语言:编译和链接(从.c文件到输出结果的过程)
|
22天前
|
存储 自然语言处理 编译器
编译和链接---C语言
编译和链接---C语言
|
24天前
|
存储 自然语言处理 编译器
【C语言】编译和链接深度剖析
【C语言】编译和链接深度剖析
|
29天前
|
Linux 开发工具 C语言
C语言编译过程、VIM常用命令
C语言编译过程、VIM常用命令
|
2月前
|
存储 编译器 程序员
【程序环境和预处理】C语言
【程序环境和预处理】C语言
|
2月前
|
存储 机器学习/深度学习 自然语言处理
【进阶C语言】编译与链接、预处理符号详解
【进阶C语言】编译与链接、预处理符号详解
26 0
|
Go C语言
老年人编程系列-go的编译顺序
根据官方文档https://golang.org/doc/install/source编译go源码需要$ cd src$ ./all.bash 拨拉开src/all.bash文件可以看到如下步骤 加载make.
1007 0