Go语言中嵌入C语言的方法

本文实例讲述了Go语言中嵌入C语言的方法。分享给大家供大家参考。具体分析如下:

Go语言官方带了一个工具叫cgo,可以很方便的在Go语言代码中内嵌C代码或做C和Go代码的集成。下面是一段简单的在Go中内嵌C的实验代码:

代码如下:

package main
/*
#include <stdio.h>
#include <stdlib.h>
void say_hello() {
        printf("Hello World!\n");
}
*/
import "C"
func main() {
        C.say_hello()
}

把上面代码保存到ctest.go文件,运行:go run ctest.go 就可以马上看到效果了。

自己不用实现特殊接口和声明什么就可以在Go代码中调用到C写的函数,实在方便。

希望本文所述对大家的Go语言程序设计有所帮助。

(0)

相关推荐

  • C语言和go语言之间的交互操作方法

    一.go代码中使用C代码 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import "C" 即可在go代码中使用C函数 代码示例: go代码:testC.go package main /* #include <stdio.h> #include <stdlib.h> void c_print(char *str) { printf("%s\n", str); } */ import "C"

  • Go语言中嵌入C语言的方法

    本文实例讲述了Go语言中嵌入C语言的方法.分享给大家供大家参考.具体分析如下: Go语言官方带了一个工具叫cgo,可以很方便的在Go语言代码中内嵌C代码或做C和Go代码的集成.下面是一段简单的在Go中内嵌C的实验代码: 复制代码 代码如下: package main /* #include <stdio.h> #include <stdlib.h> void say_hello() {         printf("Hello World!\n"); } */

  • 易语言中嵌入html直接显示方法

    以前是作者根据经验写的一点关于嵌入HTML语言的方法,大家参考下. 技术渣渣,没有找到更高的方法,现在暂时使用这种方法,将代码本地化然后超文本浏览框调用 写到文件 (取特定目录 (11) + "cs.html", 到字节集 (编辑框1.内容)) 超文本浏览框1.地址 = 取特定目录 (11) + "cs.html" 大家如果有更好的方法可以在留言讨论,感谢大家对我们的支持.

  • Go语言中接口组合的实现方法

    本文实例讲述了Go语言中接口组合的实现方法.分享给大家供大家参考.具体实现方法如下: 在Go语言中,可以在接口A中组合其它的一个或多个接口(如接口B.C),这种方式等价于在接口A中添加接口B.C中声明的方法. 复制代码 代码如下: //接口中可以组合其它接口,这种方式等效于在接口中添加其它接口的方法  type Reader interface {      read()  }  type Writer interface {      write()  }    //定义上述两个接口的实现类 

  • C语言中可变参数的使用方法示例

    前言 在C语言程序编写中我们使用最多的函数一定包括printf以及很多类似的变形体.这个函数包含在C库函数中,定义为 int printf( const char* format, ...); 除了一个格式化字符串之外还可以输入多个可变参量,如: printf("%d",i); printf("%s",s); printf("the number is %d ,string is:%s", i, s); 格式化字符串的判断本章暂且不论,下面分析一

  • Go语言中调用外部命令的方法总结

    目录 引子 运行命令 显示输出 显示到标准输出 输出到文件 发送到网络 保存到内存对象中 输出到多个目的地 运行命令,获取输出 分别获取标准输出和标准错误 标准输入 环境变量 检查命令是否存在 封装 总结 引子 在工作中,我时不时地会需要在Go中调用外部命令.前段时间我做了一个工具,在钉钉群中添加了一个机器人,@这个机器人可以让它执行一些写好的脚本程序完成指定的任务.机器人倒是不难,照着钉钉开发者文档添加好机器人,然后@这个机器人就会向一个你指定的服务器发送一个POST请求,请求中会附带文本消息

  • iOS汇编入门教程之在Xcode工程中嵌入汇编代码的方法

    简介 上一篇文章ARM64汇编基础中介绍了汇编在iOS开发中的应用以及ARM汇编基础知识,本文将介绍在C或Objective-C构成的工程中如何嵌入汇编代码. 注意 在调试ARM汇编时,Xcode的Build对象必须为真机,如果对象为模拟器则是x86汇编. 内联汇编 汇编与C间接通信 在函数中可以直接插入汇编代码来影响函数的运行逻辑,使用的语法为编译指令 __asm__ ,注意插入汇编有可能会被编译器忽略,因此需要加入 __volatile__ 修饰符保证汇编代码有效. 下面给出一个简单的例子,

  • C语言中函数返回字符串的方法汇总

    在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用.同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用. 先给出一个错误的例子: #include <stdio.h> #include <strin

  • go语言中排序sort的使用方法示例

    前言 sort包中实现了3种基本的排序算法:插入排序.快排和堆排序.和其他语言中一样,这三种方式都是不公开的,他们只在sort包内部使用.所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法.比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行排序.sort包会根据实际数据自动选择高效的排序算法. 已知一个的struct组成的数组,现在要按照数组中的一个字段排序.pyt

  • 在易语言中使用类型库的方法

    如何在易语言中使用类型库 如何在易语言中使用类型库,我们下面用一个小例程来说明,首先打开"易语言" 选择"工具"→"类型库及OCX组件-〉支持库"注册word类型库. 然后左边支持库表中会出现word的类型库 然后我们在窗体中画上两个按钮以便我们使用,至于旁边画的那个com控件我们等一下 现在我们开始写入代码,如果按照com对象的方法来操作word,我们就要先创建一个word的对象,连接"Word.Application",其

  • Go语言中定时任务库Cron使用方法介绍

    目录 快速入门 Cron表达式格式 预定义时间表 设置时区 常用的方法介绍 快速入门 安装cron,注意这里安装的是v3版本.新版本和旧版时间使用有所区别 go get github.com/robfig/cron/v3@v3.0.0 在项目中导入 import "github.com/robfig/cron/v3" v3版本的github.com/robfig/cron/v3默认解析器符合Cron 维基百科页面所描述的标准用法大致如下 package main import ( &q

随机推荐