c和go 两种语言结合使用 (一)
为何结合两者
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 两种语言结合使用 (一)相关推荐
- 无监督方法实现C++、Java、Python 代码转换,程序员:出了bug怎么办,两种语言都要看吗?...
点击上方"视学算法",选择加"星标" 重磅干货,第一时间送达 本文转载自:机器之心 | 参与:魔王 Facebook 提出的无监督代码转换方法 TransC ...
- Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)
** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...
- Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)
Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...
- Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)
** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...
- Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)
Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...
- 两种语言“争霸赛”,PHP速度领先C#
译者 | 张洁 责编 | 屠敏 有人的地方就有江湖,有江湖的地方就有纷争.提起编程语言话题,总会有人想要不甘示弱地争论一番.这不,就在一位名为@withinboredom的开发者发布的一条" ...
- 谷歌智能助理能同时听懂两种语言 超过同类产品
(原标题:Google Assistant can now speak two languages at once) 网易科技讯 8月31日消息,据国外媒体<连线>报道,在Siri.Ale ...
- (3)verilog与Systemverilog两种语言编写二分频
3 verilog与Systemverilog两种语言编写二分频 1 本节目录 1)Verilog简介 2)Systemverilog简介 3)二分频verilog编码 4)二分频Systemveri ...
- (3)verilog与VHDL两种语言编写二分频
3 verilog与VHDL两种语言编写二分频 1 本章目录 1)Verilog简介 2)VHDL简介 3)二分频verilog编码 4)二分频VHDL编码 5)本节结语 2 Verilog简介 Ve ...
- 谷歌语言设置_如何设置您的Google主页以使用两种语言
谷歌语言设置 If you live in a bilingual household, you likely switch back and forth between both languages ...
最新文章
- 深度学习与机器学习的思考
- Xamarin Essentials教程振动Vibration
- 01.轮播图之二 :tableView 轮播
- bugly怎么读_高级功能
- oracle 安装及使用方法,Oracle安装及使用小结
- 计算机英语基础课程论文,计算机专业英语课程教学论文
- go学习笔记-标准库
- ai保存web格式没有html,存储技巧,讲解AI存储为WEB所用格式的一些知识
- 一台7纳米光刻机月产能有多大,何为能卖上亿美元?
- CSS常用的元素居中方法
- pythonjavascript一起开发_Python开发【第十一篇】:JavaScript
- ntp协议原理linux网络编程,NTP协议
- Linux主流架构运维工作简单剖
- VeryCD 电驴(easyMule) 1.1.9 稳定版
- LATEX参考文献添加文章doi号并嵌入超链接+IEEE期刊缩写查询
- 园区网核心交换机与出口路由器如何配置才能通信?
- 《终身成长》学习总结
- 电缆 电流_如何不用电缆观看每项运动(运动返回时)
- 自己封装的一个JS分享组件
- python 获取值类型用于定义变量_Python中的变量和简单数据类型
热门文章
- 实例浅析javascript call by value与call by reference
- python使用osgeo库_MAC下python2.7的GDAL库配置问题
- iPhone 14 Pro太空黑渲染图曝光:感叹号挖孔+直角边框
- 微信公布10月朋友圈十大谣言 包括牙膏能杀灭幽门螺杆菌等
- 大哥特斯拉:造车“三傻”,咱们抱团?
- 三星电子预计第四季度营业利润为9万亿韩元 低于分析师预期
- 小米屏下摄像头专利曝光!或为小米mix4准备?
- iPhone用户忠诚度降至8年来最低 三星微微一笑...
- 惊艳!小米折叠屏新机渲染图曝光:不输华为三星
- 优衣库试衣间又出事了!惊现针孔摄像头 回应:正全力配合警方调查