当前位置: 首页 > 软件库 > 开发工具 > 项目构建 >

GNUstep Objective-C Runtime

旨在与 Clang 一起使用的 Objective-C 运行时库
授权协议 MIT
开发语言 C/C++ Objective-C
所属分类 开发工具、 项目构建
软件类型 开源软件
地区 不详
投 递 者 伏默
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GNUstep Objective-C Runtime 被设计为 GCC Runtime 的替代品。它支持三种 ABI:

  • 旧的 GCC ABI,它提供对 Objective-C 1.0 特性的支持。这可以通过 Clang 中的 -fobjc-runtime=gcc 标志或用 GCC 编译来选择。
  • 最初的 GNUstep non-fragile ABI,旨在与 GCC ABI 兼容,但提供对现代 Objective-C 功能的支持。这可以通过 Clang 中的 -fobjc-runtime=gnustep-1.9 标志来选择。
  • 现代 (v2) ABI,提供了更丰富的反射元数据、更小的二进制文件和更少的内存使用。这是在 Clang 7.0 或更高版本中用 -fobjc-runtime=gnustep-2.0 标志选择的。

通过在 CMake 配置中将OLDABI_COMPAT标志设置为 OFF ,可以在不支持旧 ABI 的情况下构建运行时。这将产生一个较小的二进制文件,它不会链接到使用旧 ABI 的代码。

所有 ABI 都支持 GCC 运行时之外的以下功能:

  • 现代 Objective-C 运行时 API,最初是在 OS X 10.5 中引入的。
  • Blocks
  • 合成的属性访问器
  • 对 @synchronized() 的有效支持
  • 依赖于类型的调度,消除了不匹配的选择器造成的堆栈损坏
  • 支持 Mac OS X 10.6 引入的相关参考 API。
  • 支持 Mac OS X 10.7 引入的自动引用计数 API

 

  •  The basics of Objective-C are supported by the GNU compiler collection. In order to utilize the full power of Objective-C together with the Cocoa /openStep environments on Linux, and to work with man

  • 简介:     Objective-C有两种Runtime:Modern Runtime和Legacy Runtime。     Modern Runtime运行在大多数现在平台和体系结构中,他是Apple几年前开始64bits开发的时候重新编写的。Legacy Runtime是NextStep1990时代的产物。Legacy Runtime因为2进制兼容问题而无法支持一些特性,而Mordern

  • Use NS (NeXtStep) Object in source.m, like:   NSString *hello = @"Hello World!";//a NS string object   creat a file in the folder where source.m at,named "GNUmakefile" with code: include $(GNUSTEP_MAK

  • 主要来源于网络收集的,实验通过。 1. 搭建GNUStep 官方网址:http://www.gnustep.org/experience/Windows.html GNUstep Windows Installer提供了Windows平台下的Objective-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cai

  • 简介 Objective-C语言进可能将许多决策从编译和链接延缓到运行时。它尽可能的动态处理事务。这意味着Objective-C不仅需要编译器还需要执行编译代码的运行时系统。运行时系统充当Objective-C的一种操作系统,使之正常工作。 本文着眼于NSObject 类以及Objective-C 程序如何与运行时系统交互。特别是,在运行时动态的加载新类,并将消息转发给其他对象。它还提供了如何在程

  •        Objective-C语言的许多决策可以在编译和运行时执行。只要有可能,它是动态的。这意味着Objective-C语言不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。Runtime系统是一种用于Objective-C语言的操作系统,它使OC语言工作起来。   Runtime的核心是在运行时动态操作类和消息分发给其他对象,本文档主要介绍在运行时动态操作类。   你可以从中学到

  • 本文档描述了OS X 2.0 objective - c运行时库函数和数据结构的支持。相关实现功能在objc/objc-runtime.h共享库中。 所有const char *使用UTF-8转码 1 Functions 所有方法前带OBJC_EXPORT 1.1 Working with Classes // 获取类名 const char *class_getName(Class cls) /

  • 下面是我看到的关于Objective-C Runtime的文章,先记在这里,有时间再仔细整理下:-)。 深入理解Objective-C的Runtime机制:这篇文章详细地介绍了objc_class结构体定义,Method、Ivar、IMP、Cache解析,详解Runtime的消息发送,以及方法解析与消息转发三种方式的选择。 Objective-C Runtime:这篇文章详细地介绍了Objecti

  • Objective-C Runtime objective-c是mac osx下的编程语言,其中Runtime库为oc语言的动态属性提供支持,因此所有通过oc编译的应用程序都可以连接到该库。 应用程序连接到runtime库,需要引入runtime头文件。 #import <objc/runtime.h> runtime库的主要设计意图是作为objective-c和其他编程语言之间的桥接层,或者作

  • 1. 相对于C/C++, Objective C尽可能地把一些动作推迟到运行时来执行。即尽可能动态地来做事情。 因此它不仅需要一个编译器,还需要一个运行时环境来执行编译后的代码。 2.Runtime分为Legacy和modern两个版本,一般来说,我们现在用的都是modern版本。 3.modern版本的一个显著特征就是“non-fraigle”, 即父类的成员变量发生改变时,子类不需要重新编译。

  • 本文参考了两篇文章: http://mobile.51cto.com/iphone-280786.htm 和 http://blog.csdn.net/one_in_one/article/details/8558356 需要的软件和工具: 1.  codeblocks-13.12-setup.exe 2.  gnustep-msys-system-0.25.1-setup.exe http://

 相关资料
  • 问题内容: 下面的Objective-C代码等效于Swift代码。我找不到带有运行时概念的快速主题。 试图获取类的对象? 更新: 尝试以下代码,出现错误 问题答案: 首先,在不知道您在Objective-C中使用该类对象的目的的情况下,很难将该代码转换为Swift。 在Objective-C中,类对象是对象,并且类型可以保存指向任何类对象的指针。但是,当将Objective-C API桥接到Swi

  • 我在使用selenium与maven运行页面工厂时遇到问题,如果有人能提供帮助,我将不胜感激。当我运行TestPage类时,我得到以下错误:

  • 我希望使用Maven在任何平台上使用JavaFX执行jar,无论主机上是否安装了JavaFX。

  • 问题内容: 如何将Go程序与C库接口? 我一直在浏览Go的源代码,但我仍然没有弄清楚。如果有人已经这样做了,请分享一下吗? 更新: 感谢@fserb,我从Go来源发布了一些文档: Cgo支持创建调用C代码的Go包。 用法:cgo [编译器选项] file.go 调用gcc编译软件包的C部分时,编译器选项将通过未解释的传递。 输入file.go是一个语法上有效的Go源文件,该文件导入伪包“ C”,然

  • 在我运行mongo恢复后,mongo服务无法自动启动,但如果我打开终端并运行monstar,服务运行完美。如果我关闭终端,我得到。有什么建议吗? 错误:无法连接到服务器127.0.0.1 shell/mongo。js:79 当我运行mon神时,我得到: MongoDB启动:pid=1875 port=27017 dbpath=/data/db/64位周四25 12:16:40db version

  • 问题内容: 我有以下程序: 我面临的问题是,一旦在STDIN上检测到输入,消息“ User input- stdin”就继续打印…为什么在循环检查哪一个描述符已输入的同时,它一次又不打印一次? 谢谢。 问题答案: 该功能仅在有可用输入时告诉您。如果您实际上并没有消耗它,那么select将继续直接下降。