【问题标题】:gnustep for netbsd用于 netbsd 的 gnustep
【发布时间】:2012-12-08 16:26:58
【问题描述】:

我想问一下 gnustep 的工具链是否适用于通常使用纯 C 语言的 netbsd 开发。我对 Obj-C 的好处感兴趣,只有基本的 API,比如 NSObject 的引用计数和动态的东西。

我的问题有两个:

  • gcc 的 Obj-C ABI 是否与gcc 的 C ABI 兼容?这样我就可以使用常规的 C 库
  • Obj-C 的运行时层是否适合嵌入 netbsd 的目标?

提前谢谢你!

【问题讨论】:

  • 如果您只对基本 API 感兴趣,您可能最好只使用 Objective-C 运行时并自己从基础框架构建其他类。 Core Foundation 的对应物也是开源的,因此您可以从那里获得参考实现。
  • @JustSid 真可爱 :) 事先并不知道因为我不是苹果爱好者

标签: objective-c gnustep netbsd


【解决方案1】:

gcc 的 Obj-C ABI 是否与 gcc 的 C ABI 兼容?这样我就可以使用常规的 C 库了吗?

乍一看,这与 ABI 无关。 Objective-C 是 C 的严格超集,因此在每个平台上您都可以将 C 代码与 Objective-C 代码一起使用。您甚至可以使用 Objective-C 运行时库从纯 C 代码调用 Objective-C 方法。

Obj-C 的运行时层适合嵌入 netbsd 的目标吗?

我不完全明白这里的问题是什么。您是在问是否可以将 GNUstep 移植到嵌入式平台?如果是这样,我会说是的,通常应该是可能的(在嵌入式系统的适当约束下),但在我看来,它对于嵌入式开发来说太重了。

【讨论】:

  • 谢谢,这似乎已经足够了 :) 您最后提到的观点是基于 GNUStep 旨在移植整个 Cocoa 吗?我的问题只是关于 GNUStep 的子集,它允许我做基本的 Obj-C ..
  • @rostamn739 不,不是整个 Cocoa,只是 Foundation。基本上这本身就很大。你可以单独拥有 Objective-C 运行时,但是你必须重新实现所有有用的基类(有关于如何制作 NSMutableDictionary 的线索?),所以你可能不想要那个。
  • @H2CO3 GNUStep 包括部分 AppKit 和其他框架(如 Core Data)。
  • @JustSid 是的,正确的。但它仍然不是整个 Cocoa API :) 然而,它又大又臃肿。 (有些项目旨在提供整个 Cocoa 和 Cocoa Touch (!) API 的功能完整端口,例如 Cocotron,但它们甚至更大。)
【解决方案2】:

如果你对 AppKit 不感兴趣,也可以看看https://webkeks.org/objfw/。 运行时可能包含您想要验证它们是否真正适用于特定 CPU 类型的汇编位。像 libFoundation 这样的旧 Foundation 库也可以满足您的需求。如果你想使用 Objective-C++ 或 Objective-C 2.0 之类的东西,我建议使用 clang 而不是 gcc。

【讨论】:

  • +1 向我介绍了 ObjFW。有更多框架可供查看总是好的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 2010-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多