Golang1.8编译静态库给C使用

前端之家收集整理的这篇文章主要介绍了Golang1.8编译静态库给C使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Go实例代码

package main

import (
    "fmt"
)

import "C"

//export Printf
func Printf(format,str string) {
    fmt.Printf(format,str)
}

func main(){}

编译命令:
go build -ldflags “-s -w” -buildmode=c-archive -o printf.a main.go

生成:printf.a printf.h两个文件

C代码实例:

#include "printf.h"

void main()
{
    char fm[8]="Age:%s\n";
    GoString format={fm,sizeof(fm)};
    GoString values={"25",2};
    Printf(format,values);
}

编译命令: linux 编译命令:gcc main.c printf.a -L. -o main -lpthread -s windows:编译命令:gcc -o main.exe 1.c libprint.a -lwinmm -lstdc++ -lws2_32 -lntdll 生成:main main.exe

原文链接:https://www.f2er.com/go/188511.html

猜你在找的Go相关文章