代码之家  ›  专栏  ›  技术社区  ›  andyvn22

如何在gnustep中使用obj-c 2.0?

  •  7
  • andyvn22  · 技术社区  · 14 年前

    我知道LIBOBJC2的存在,我认为我需要使用CLAN而不是GCC,但是我找不到任何关于编译过程的不同的基本指令。

    谁能给我 明确的分步说明 关于gnustep的获取、配置、编译和使用 ubuntu中的objective-c 2.0 是吗?

    2 回复  |  直到 10 年前
        1
  •  2
  •   MrGomez    14 年前

    自从 GNUStep ObjC2 FAQ 已经被引用过了,我想你已经看过了。不过,我想指出:

    对于更高级的特性(当前仅在使用clang编译时受支持),您将需要gnustep运行时。这目前还不被认为是生产就绪。它应该可以作为gcc运行时的替代品,但是一些高级特性没有经过很好的测试。

    The FAQ 还需要指出以下几点:

    如果使用gcc的最新版本来编译代码,那么应该有编译器附带的objective-c运行时库的副本。

    如果使用-fobjc nonfragile abi标志编译,那么将使用新的abi。这只在gnustep运行时支持。这增加了:

    • 财产反省
    • 对任择议定书方法的反思
    • 非脆弱实例变量
    • 转发代理支持

    所以,如果你想通过gcc寻找更老的功能, this tutorial 会做得很好的 this one. 您已经明确指出,您希望使用clang(via)提供的功能来实现这一点 libobjc2 ,它有自己的文档库。

    Obtaining a release of Clang and getting set up 看起来相当干瘪。这个 LLVM Getting Started 文档非常健壮(完整的文档存档 here ,这将为正确设置和编译后端提供洞察。可以找到对预期的构建过程的一些额外了解 here 是的。

    然而,在撰写本文时,在clang中编译objective-c应用程序的文档似乎非常少,而且还没有经过测试。随着功能的提供和代码库的稳定,我想会有更多的用户文档上线。

        2
  •  -1
  •   Chuck    14 年前

    根据 GNUstep Wiki ,只需使用 -fblocks -fobjc-nonfragile-abi 是的。然后在代码中使用语言特性。