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


    Go实例代码:

    package main
    
    import (
        "fmt"
    )
    
    import "C"
    
    //export Printf
    func Printf(format, str string) {
        fmt.Printf(format, str)
    }
    
    func main(){}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    编译命令: 
    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
    ";
        GoString format={fm,sizeof(fm)};
        GoString values={"25",2};
        Printf(format,values);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    编译命令: 
    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

  • 相关阅读:
    TensorFlow神经网络集成方案
    过滤节点
    获取子节点
    获取兄弟节点
    获取父节点
    遍历DOM树
    获取修改CSS
    获取修改元素属性
    获取修改value
    获取更新元素文本html()
  • 原文地址:https://www.cnblogs.com/405845829qq/p/8886138.html
Copyright © 2020-2023  润新知