为何结合两者

c 语言的强大之处在于使用很多底层库,性能高,语言简洁,设计上和架构上来说更为直接,而go语言像httpserver,webrtc等已经做得很好了,协程方面也封装了细节,程序员不用关心如何调整cpu和线程, 如果说两者结合,更能直接达到我们想要的效果。

go语言

比如嵌入ffmpeg来进行编解码
// #include “videostreamer.h”
// #include <stdlib.h>
// #cgo LDFLAGS: -lavformat -lavdevice -lavcodec -lavutil
// #cgo CFLAGS: -std=c11
// #cgo pkg-config: libavcodec

以上是嵌入了ffmpeg的库,我们先用简单的例子来嵌入简单的c,以作示例
/*
#include <stdio.h>
#include <stdlib.h>
int num = 0;
*/
import “C”

func main(){
a := int(C.num)
fmt.Println(a)
}

mingw

若在windows上,可能出现
exec: “gcc”: executable file not found in %PATH%
我们必须安装mingw,地址
mingw安装地址
mingw64 官方网站
安装完成,在进行运行就行了,因为go语言并不自带c编译器,所以调用的是外部gcc编译。

c

加入c后的go语言更为突出亮点,其他语言并无此直接调用的好处。

package main
/*
#include <stdio.h>
#include <stdlib.h>
void hello_world() {printf("I am the monkey!\n");
}
*/
import "C"
func main() {C.hello_world()
}

c和go 两种语言结合使用 (一)相关推荐

  1. 无监督方法实现C++、Java、Python 代码转换,程序员:出了bug怎么办,两种语言都要看吗?...

    点击上方"视学算法",选择加"星标" 重磅干货,第一时间送达 本文转载自:机器之心  |  参与:魔王 Facebook 提出的无监督代码转换方法 TransC ...

  2. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)

    ** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...

  3. Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)

    Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...

  4. Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)

    ** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...

  5. Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)

    Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...

  6. 两种语言“争霸赛”,PHP速度领先C#

    译者 | 张洁 责编 | 屠敏 有人的地方就有江湖,有江湖的地方就有纷争.提起编程语言话题,总会有人想要不甘示弱地争论一番.这不,就在一位名为@withinboredom的开发者发布的一条" ...

  7. 谷歌智能助理能同时听懂两种语言 超过同类产品

    (原标题:Google Assistant can now speak two languages at once) 网易科技讯 8月31日消息,据国外媒体<连线>报道,在Siri.Ale ...

  8. (3)verilog与Systemverilog两种语言编写二分频

    3 verilog与Systemverilog两种语言编写二分频 1 本节目录 1)Verilog简介 2)Systemverilog简介 3)二分频verilog编码 4)二分频Systemveri ...

  9. (3)verilog与VHDL两种语言编写二分频

    3 verilog与VHDL两种语言编写二分频 1 本章目录 1)Verilog简介 2)VHDL简介 3)二分频verilog编码 4)二分频VHDL编码 5)本节结语 2 Verilog简介 Ve ...

  10. 谷歌语言设置_如何设置您的Google主页以使用两种语言

    谷歌语言设置 If you live in a bilingual household, you likely switch back and forth between both languages ...

最新文章

  1. 深度学习与机器学习的思考
  2. Xamarin Essentials教程振动Vibration
  3. 01.轮播图之二 :tableView 轮播
  4. bugly怎么读_高级功能
  5. oracle 安装及使用方法,Oracle安装及使用小结
  6. 计算机英语基础课程论文,计算机专业英语课程教学论文
  7. go学习笔记-标准库
  8. ai保存web格式没有html,存储技巧,讲解AI存储为WEB所用格式的一些知识
  9. 一台7纳米光刻机月产能有多大,何为能卖上亿美元?
  10. CSS常用的元素居中方法
  11. pythonjavascript一起开发_Python开发【第十一篇】:JavaScript
  12. ntp协议原理linux网络编程,NTP协议
  13. Linux主流架构运维工作简单剖
  14. VeryCD 电驴(easyMule) 1.1.9 稳定版
  15. LATEX参考文献添加文章doi号并嵌入超链接+IEEE期刊缩写查询
  16. 园区网核心交换机与出口路由器如何配置才能通信?
  17. 《终身成长》学习总结
  18. 电缆 电流_如何不用电缆观看每项运动(运动返回时)
  19. 自己封装的一个JS分享组件
  20. python 获取值类型用于定义变量_Python中的变量和简单数据类型

热门文章

  1. 实例浅析javascript call by value与call by reference
  2. python使用osgeo库_MAC下python2.7的GDAL库配置问题
  3. iPhone 14 Pro太空黑渲染图曝光:感叹号挖孔+直角边框
  4. 微信公布10月朋友圈十大谣言 包括牙膏能杀灭幽门螺杆菌等
  5. 大哥特斯拉:造车“三傻”,咱们抱团?
  6. 三星电子预计第四季度营业利润为9万亿韩元 低于分析师预期
  7. 小米屏下摄像头专利曝光!或为小米mix4准备?
  8. iPhone用户忠诚度降至8年来最低 三星微微一笑...
  9. 惊艳!小米折叠屏新机渲染图曝光:不输华为三星
  10. 优衣库试衣间又出事了!惊现针孔摄像头 回应:正全力配合警方调查