GNUstep Objective-C Runtime 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
GNUstep Objective-C Runtime 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
GNUstep Objective-C Runtime 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具项目构建
开源组织
地区 不详
投 递 者 Alias_Travis
适用人群 未知
收录时间 2021-09-27

软件简介

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

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2011/11/26 08:56

GNUstep Objective-C Runtime 1.6 发布

“继1.0版本发布之后一年多一点, 1.6版本的GNUstep Objective-C Runtime与大家见面了。它提供了Apple's Mac OS X 10.7/iOS 5 runtimes 的一个超集,并为自由软件平台上Objective-C 和Objective-C 开发提供了坚实的基础。” 转载请注明:Linux人社区> 英文资讯翻译专版.编译 英文原文: GNUstep Objective-C Runtime 1.6 Released posted by Thom Holwerda on Fri 25th Nov 2011 22:48 UTC "A little over one year after the ...

0
1
发表于大前端专区
2013/08/15 21:47

在android adt中使用gnustep编译cocos2d-x

GNUstep 是一个跨平台的Objective-C的编译运行环境,同样可以用来编译cocos2d-x,大家可以看下《 Windows 下使用 GNUstep 编译并运行 Objective-C 程序》。相对cygwin,下载安装更方便。 本文是直接在android adt里面配置GNUstep,ndk来编译打包cocos2d-x游戏。 需要安装软件 1、jdk 下载安装省略 2、adt-bundle, 下载地址http://developer.android.com/sdk/index.html, 本文使用的版本https://dl.google.com/android/adt/adt...

4
46
发表了博客
2015/12/19 15:34

The Objective-C runtime

By your _cmd This post is a write-up of a talk I gave at Alt Tech Talks: London on the Objective-C runtime. Seriously though, you should’ve been there. The Objective-C runtime? That’s the name of the library of C functions that implement the nuts and bolts of Objective-C. Objects could just be represented as C structures, and methods could just be implemented as C functions. In fact they sort...

0
1
发表了博客
2015/02/07 23:54

Objective-C Runtime

NOV 3RD, 2014 | COMMENTS 前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。 基础数据类型 SEL SEL又叫选择器,是表示一个方法的selector的指针,其定义如下: typedef struct objc_selector *SEL; objc_selector结构体的详细定义...

0
0
发表了博客
2015/11/04 17:18

Objective-C的Runtime

最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题。当然还有一些其他问题也几乎必问,例 如:RunLoop,Block,内存管理等。其他的问题如果有机会我会在其他文章中介绍。本篇文章主要介绍RunTime。 RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直...

0
1
发表了博客
2014/02/28 13:13

Understanding the Objective-C Runtime

The Objective-C Runtime is one of the overlooked features of Objective-C initially when people are generally introduced to Cocoa/Objective-C. The reason for this is that while Objective-C (the language) is easy to pick up in only a couple hours, newcomers to Cocoa spend most of their time wrapping their heads around the Cocoa Framework and adjusting to how it works. However the runtime is somet...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部