Objective-C Objective-C++ Language Standards Supported by GCC ( GCC 支持的Objective-C Objective-C++标准 )

8 篇文章 0 订阅

Using the GNU Compiler Collection

Language Standards Supported by GCC

GCC支持的语言标准

2.3 Objective-C and Objective-C++ Languages

GCC supports“traditional”Objective-C(also known as“Objective-C 1.0”) and contains support for the Objective-C exception and synchronization syntax.

GCC支持”传统的” Objective-C(也称为“Objective-C 1.0”),并支持 Objective-C 异常和同步语法。

It has also support for a number of“Objective-C 2.0”language extensions, including properties, fast enumeration (only for Objective-C),
method attributes and the @optional and @required keywords in protocols.

它还支持一些”Objective-C 2.0”语言扩展, 包括属性, 快速枚举(仅适用于Objective-C), 方法属性和协议中的@optional和@required关键字。

GCC supports Objective-C++ and features available in Objective-C are also available in Objective-C++.

GCC也支持Objective-C++,Objective-C 中可用的特性同样也可以在 Objective-C++ 中使用。

GCC by default uses the GNU Objective-C runtime library, which is part of GCC and is not the same as the Apple/NeXT Objective-C runtime library used on Apple systems.

GCC默认使用GNU Objective-C运行库,它是GCC的一部分,与Apple系统上使用的 Apple/NeXT Objective-C运行时库不同。

There are a number of differences documented in this manual.

本手册中记录了若干差异。

The options‘-fgnu-runtime’and ‘-fnext-runtime’allow you to switch between producing output that works
with the GNU Objective-C runtime library and output that works with the Apple/NeXT ObjectiveC runtime library.

选项 '-fgnu-runtime''-fnext-runtime' 允许你在 GNUApple/NeXT Objective-C 运行时库 之间进行切换并产生相应的输出

There is no formal written standard for Objective-C or Objective-C++.

Objective-C 或 Objective-C ++并没有正式的书面标准。(意思是没有类似C或C++那种正式发表的语言标准 )

The authoritative manual on traditional Objective-C (1.0) is “Object-Oriented Programming and the Objective-C Language”: http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf is the original NeXTstep document.

传统Objective-C(1.0)的权威手册是“面向对象编程和Objective-C语言”:
http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf 是原始的NeXTstep文档。

The Objective-C exception and synchronization syntax (that is, the keywords @try, @throw, @catch, @finally and @synchronized) is supported by GCC and is enabled with the option ‘-fobjc-exceptions’.

GCC支持 Objective-C 异常和同步语法(即关键字@try,@throw,@catch,@finally和@synchronized),并默认启用了选项'-fobjc-exceptions'

The syntax is briefly documented in this manual and in the Objective-C 2.0 manuals from Apple.

本手册和Apple的Objective-C 2.0手册中简要介绍了语法。

The Objective-C 2.0 language extensions and features are automatically enabled;

Objective-C 2.0 语言扩展和功能自动启用

they include properties (via the @property, @synthesize and @dynamic keywords),
fast enumeration (not available in Objective-C++),
attributes for methods (such as deprecated, noreturn, sentinel, format),
the unused attribute for method arguments,
the @package keyword for instance variables and the @optional and @required keywords in protocols.

它们包括属性(@property,@synthesize 和 @dynamic 关键字),
快速枚举(在Objective-C ++中不可用),
方法的属性(如 deprecated,noreturn,sentinel,format),
未使用的方法参数的属性,
实例变量的 @package 关键字和协议中的 @optional 和 @required 关键字。

You can disable all these Objective-C 2.0 language extensions with the option ‘-fobjc-std=objc1’,
which causes the compiler to recognize the same Objective-C language syntax recognized by GCC 4.0,
and to produce an error if one of the new features is used.

您可以使用选项'-fobjc-std = objc1'禁用所有这些 Objective-C 2.0 语言扩展,
这将导致编译器 与 GCC 4.0 一样来识别 Objective-C 语言语法,并且如果使用某个新功能将会产生错误。

GCC has currently no support for non-fragile instance variables.

GCC目前不支持 non-fragile 实例变量。

The authoritative manual on Objective-C 2.0 is available from Apple:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

Objective-C 2.0的权威手册可从Apple获得:

For more information concerning the history of Objective-C that is available online, see http://gcc.gnu.org/readings.html

有关Objective-C历史的更多信息可以在线获得,详见 http://gcc.gnu.org/readings.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值