登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> SoftHub关联区 >> 主题: [golang/cgo/ios/xcode]不是 bug 的超级大 bug     [回主站]     [分站链接]
[golang/cgo/ios/xcode]不是 bug 的超级大 bug
clq
浏览(43) - 2024-03-11 19:58:27 发表 编辑

关键字:

[golang/cgo/ios/xcode]不是 bug 的超级大 bug

其实这是 c/c++ 的特性,只是因为 xcode 沿用了它很多东西,因此 xcode 上的 objectc/c/c++ 是有这个问题的。
那就是有异常时程序会立即崩溃。这是 c/c++ 系最严重的问题,而同为编译型语言的 delphi 大多数情况下是不会这样的,而 glang 如此之新当然也是不会的。
但是 cgo 中如果发生了崩溃是什么现象呢? 目前版本的表现为 golang 部分仍然正常运行,这当然是没错的,不过 cgo 调用的部分会失效!
在我的机器上,因为 ui 是 cgo 生成的所以会很诡异的发现程序仍然在正常跑,但界面已经莫名不显示了,而且没有任何报错!

我想这在相当长一段时间里是无法解决的问题了。因为我对这种现象研究得太多了,不彻底修改 c 语言的运行库是无法修正的,而 c/c++ 标准显然会坚持要崩溃。所以这解决不了。
目前的做法只能是 cgo 调用的时候加倍小心,所用的模块最好在纯 xcode 项目中反复测试过 -- 当然现在的公司都只认钱,这恐怕很难实现 ...

--------------------------------------------------------
另外还有一个类似的严重问题: xcode 编译出来的原生模块似乎会在内存不足或者某些东西有问题时崩溃。

这非常象 ubuntu ,现在最新的 ubuntu 在内存不足时是直接杀死程序的!而且是系统主动杀死!这真的很恐怖,同样的问题,在 windows 下是启用虚拟内存,这一点来说 Windows 强得不知道多多少。

当然 windows 下也并不是所有类型的内存都能使用虚拟内存解决的,不过这只有在开发的极端情况下才会出现。一般用户几乎不会碰到。

说真的,开源的东西反人类的东西太多了。当然它的好处是它反人类的话你可以改 ... 可惜的是,它经常在不好改的地方动不动就反人类,这就是开源系统一直扶不上墙的原因 -- 太自由了。

我今天碰到的现象就是打开某个比较大的文本文件时会时而会崩溃,显示为 malloc 保护标志错误。唉。






总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
golang的坑 更多
cgo的坑 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1