相关疑难解决方法(0)

如何减少编译文件的大小?

让比较c和go:Hello_world.c:

#include<stdio.h>
int main(){
    printf("Hello world!");
}
Run Code Online (Sandbox Code Playgroud)

Hello_world.go:

package main
import "fmt"
func main(){
    fmt.Printf("Hello world!")
}
Run Code Online (Sandbox Code Playgroud)

编译两者:

$gcc Hello_world.c -o Hello_c 
$8g Hello_world.go -o Hello_go.8
$8l Hello_go.8 -o Hello_go
Run Code Online (Sandbox Code Playgroud)

还有,这是什么?

$ls -ls
... 5,4K 2010-10-05 11:09 Hello_c
... 991K 2010-10-05 11:17 Hello_go
Run Code Online (Sandbox Code Playgroud)

关于1Mb你好世界.你在跟我开玩笑吗?我做错了什么?

(剥离Hello_go - >仅限893K)

go

75
推荐指数
8
解决办法
3万
查看次数

从go二进制文件动态构建和链接

我的问题如下:

  1. 我在机器上有二进制文件
  2. 从那个二进制文件我需要编译外部.go文件
  3. 编译完成后,我需要将已编译的go文件链接到当前的二进制文件中,以便我可以使用刚刚编译的go代码.

你觉得这可能吗?

我做了一些研究,似乎不太可能,但我可能忽略了一些东西.

谢谢 :)

第一个二进制文件包含类似的内容

func main() {
    // Here I need to compile an external go file (or package) which contains
    // The definition of runFoo()

    // Once the file/package is compiled and linked I need to call the compiled code
    runFoo()

    // Continue the execution process normally here
}
Run Code Online (Sandbox Code Playgroud)

go

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

go ×2