社区
其他技术讨论专区
帖子详情
cgo有必要存在吗?
weixin_38053139
2019-09-20 10:55:18
想不到cgo存在的用途,虽然高了一点性能和可复用c的库,但使得代码复杂性大大增加和可读性急剧下降,得不偿失啊!还不如将程序写成纯c和纯go通讯的模式
...全文
49
9
打赏
收藏
cgo有必要存在吗?
想不到cgo存在的用途,虽然高了一点性能和可复用c的库,但使得代码复杂性大大增加和可读性急剧下降,得不偿失啊!还不如将程序写成纯c和纯go通讯的模式
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38067090
2019-09-20
打赏
举报
回复
顺便说一句。写黑客工具 那种现成的 hook rootkit 都是c写的。。- - 再写一遍。。。是不是很难受。
weixin_38069603
2019-09-20
打赏
举报
回复
我是说用通讯方式实现c的调用,比如通过rpc或自定义协议。
weixin_38071717
2019-09-20
打赏
举报
回复
有些情况必须要用cgo,像runc调用setns,go启动就是多线程,人家要求不是多线程才能调
weixin_38092066
2019-09-20
打赏
举报
回复
很有必要,并且是go的优势之一。 不知道系统编程的,不会明白。 java和python,在这方面就是一个明显的弱点,调用C语言函数库不方便。 整个IT业的基础技术还是C语言,整个IT业还是建立在C语言的基础之上。
weixin_38121048
2019-09-20
打赏
举报
回复
cgo不是本来就是go和c通信的方式么? rpc?自定义协议?你准备改造所有的c语言库么 别的不说,我记得sqlite就是cgo的吧,总部间的要求sqlite自己跑成一个服务吧……
weixin_38137526
2019-09-20
打赏
举报
回复
同志= = 比如 hook rookit 还有楼上说的系统编程 是无法用那种什么狗屁 rpc那种那么重的协议的。。。 我也是搞java的。。但是我感觉java最大的缺点是 各种jar包 各种协议怼上去怼的特别臃肿。。。
weixin_38137535
2019-09-20
打赏
举报
回复
我给你举个例子 场景。。。实现进程的隐藏 就这么个需求 java就得费。。。。go的编译型优势就是 系统编程 兼顾 网络编程。。。你多干几年系统编程就理解了。
weixin_38138267
2019-09-20
打赏
举报
回复
赞同,但是考虑下项目迁移的时间问题。在和系统打交道这块少了cgo,go的优势就弱了很多。
weixin_38063369
2019-09-20
打赏
举报
回复
你怕是没遇到过调C的场景。。人家写好的C直接调就行了。。。 C的生态和开源的我都不说有多少了 难道你再重写一遍???
CGO
让Go与C手牵手
一、
CGO
快速入门 (一)启用
CGO
特性 在golang代码中加入import“C”语句就可以启动
CGO
特性。这样在进行go build命令时,就会在编译和连接阶段启动gcc编译器。 // go.1.15// test1.gopackage mainimport "C" ...
Golang基于
CGO
的动态链接库调用利用
CGO
特性编写可跨平台调用的动态链接库
在Go语言中,支持
CGO
,也就是说可以通过调用C语言函数来实现Go语言代码。通过调用C语言函数可以节省资源,提升性能。但是,在调用C语言函数的时候需要注意一些细节。需要写C语言的头文件,该头文件需要包含要调用的...
CGO
的介绍
该字符串在C语言函数中完全跨越了Go语言的内存管理,在PrintGoString调用前即使发生了栈伸缩导致的Go字符串地址发生变化也依然可以正常工作,因为该字符串对应的...对于指定了特殊对齐规则的结构体,无法在
CGO
中访问。
【Go命令教程】13. go tool
cgo
cgo
也是一个 Go 语言自带的特殊工具。一般情况下,我们使用命令 go tool
cgo
来运行它。这个工具可以使我们创建能够调用 C 语言代码的 Go 语言源码文件。这使得我们可以使用 Go 语言代码去封装一些 C 语言的代码库...
cgo
+gSoap+onvif学习总结:9、go和c进行socket通信进行onvif协议处理
cgo
目前看仍然
存在
一些问题,虽然我在amd64和x86上使用正常了,1.18版本没有出现内存分割违例问题,但是arm64上运行时仍
存在
分割违例问题,所以打算使用一个比较稳妥的方式进行c和go的通信,那就是socket通信。...
其他技术讨论专区
433
社区成员
791,270
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章