美文网首页
(1)Cgo结构

(1)Cgo结构

作者: Timing_173a | 来源:发表于2018-06-30 16:32 被阅读0次
package main

/*
#cgo CFLAGS: -I/user/local/include
#cgo LDFLAGS: -L/user/local/lib -l库
//定义/调用头文件

 //定义C函数
 int test_printf(char a)
 {
    printf("%c\r\n"m a);
    return 0;
 }
*/
import "C"

import "fmt"

func main() {
    var c C.char = 'c'
    retc := C.test_printf(c)
    //这里ret 是C.int 格式,参考转换图则为go 对应着 int32
    retgo = int32(ret) //返回结果强化

    fmt.Printf("%T", c)

}

总结:

1、import "C" 是启用Cgo,以及cgo配置,头文件,C函数
2、需要调用的C语言的内容使用/**/注释起来,放在import "C"之前
3、其中有两个#cgo命令,分别是编译和链接参数

  1. #cgo CFLAGS: -I/user/local/include //库对应头文件所在的目录加入头文件检索路径
  2. #cgo LDFLAGS: -L/user/local/lib -l库 //库所在目录加为链接库检索路径

相关文章

  • (1)Cgo结构

    总结: 1、import "C" 是启用Cgo,以及cgo配置,头文件,C函数2、需要调用的C语言的内容使用/**...

  • go 编译时,环境变量CGO_ENABLED的作用

    用法(CGO_ENABLED=1 默认值) CGO_ENABLED=1 go build -o main1 mai...

  • CGO编程

    1)什么是CGO编程?2)CGO语法3)相关资料 一、什么是CGO编程?简单说就是GO语言代码中可以编写C代码和调...

  • CGO使用

    参考文章: http://golang.org/cmd/cgo is the primary cgo docume...

  • CGO 初步认知和基本数据类型转换

    CGO 是什么? CGO 是 GO 语言里面的一个特性,CGO 属于 GOLANG 的高级用法,主要是通过使用 G...

  • golang win10交叉编译

    写了一个bat文件 set CGO_ENABLED=0 关闭CGO

  • cgo

    golang与C有着千丝万缕的联系,go代码中可以调用C代码由于项目需要,新使用的golang语言需要调用C语言写...

  • cgo

    三种方式 在头部嵌入c代码 头部引用.h文件,实际调用动态库,需要指定路径(当前项目使用这种形式) 直接引用文件,...

  • cgo

    cgo cgo是用来在Go语言中调用C语言的工具 Go语言调用C语言 简单C语言函数 在Go语言中需要通过impo...

  • cgo

    转载一篇CGO的文章 Go 与 C 的桥梁:cgo 入门,剖析与实践[https://zhuanlan.zhihu...

网友评论

      本文标题:(1)Cgo结构

      本文链接:https://www.haomeiwen.com/subject/zlntuftx.html