首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从cgo转到exe

如何从cgo转到exe
EN

Stack Overflow用户
提问于 2010-05-07 09:51:05
回答 2查看 1.2K关注 0票数 3

从一个基本的测试程序。。。

代码语言:javascript
复制
package main

/*
#include <stdio.h>
static void test() {
        printf("hello world");
}
*/
import "C"

func main() {
        C.test();
}

我做了"cgo hello_cgo.go“,然后得到:

代码语言:javascript
复制
_cgo_.o
_cgo_defun.c
_cgo_gotypes.go 
hello_cgo.cgo1.go 
hello_cgo.cgo2.c

我如何从这里编译成一个可执行文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-07 10:05:27

尝试使用go生成文件。创建makefile,如下所示

代码语言:javascript
复制
# Makefile
CGOFILES=test.go
TARG=test

include $(GOROOT)/src/Make.$(GOARCH)
include $(GOROOT)/src/Make.pkg

然后,运行make将生成文件_obj/test.a,您必须使用6l或类似的链接来链接该文件。

票数 6
EN

Stack Overflow用户

发布于 2013-03-28 04:41:14

Go1更新:

代码语言:javascript
复制
$ cat foo.go
package main

// #include <stdio.h>
// static void test() { printf("Hello, world\n"); }
import "C"

func main() {
    C.test()
}
$ go build foo.go
$  ./foo
Hello, world
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2785696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档