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

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04 编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017) 阅读详情

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

01_Openclaw环境配置与项目管理工具域详解 OpenClaw工程实战指南:环境配置与项目管理工具详解 本文档是OpenClaw v2.7.9的官方配置指南,全面介绍了这一开源AI Agent操作系统的架构设计与实践应用。OpenClaw采用独特的"本地优先"理念和"数字员工"框架,包含四层架构:应用适配层、生态组件层、核心引擎层和基础设施层。 文档详细阐述了多平台安装方法(Windows/macOS/Linux/Docker)、国内网络稳定接入方案,以及settings.json配置文件的深度解析。特别强调了CLAUDE.md项目指令文件的编写规范。 阅读详情

相关推荐

【信息科学与工程学】【产品体系】第三十三篇 DPU/smartinic芯片中的学科知识03

需求实现DMA 与流边界检测优化​分级超时状态机(短/中/长)+ 积压计数 + 批量触发DMA 控制器优化​描述符预取(深度 4)+ 中断合并(阈值 8)Fence 语义正确性验证​RTL 断言 + C 语言序列号检测 + 性能对比 + 硬件计数器所有代码均为可综合 Verilog,已在仿真器中通过基本功能测试。在 FPGA 原型上运行上述 RTL,配合 ChipScope 观察 fence 时序在 BlueField-3 上运行 DOCA DPA 测试程序,对比加/不加 fence 的结果。

weixin_49199313的博客 58

Windows 下使用 GNUstep 编译并运行 Objective-C 程序

今晚上开始看《Objective-C 程序设计(第4版)》这本书(OSChina 正在做此书的书评活动,详情请看这里),到现在为止看到第 7 章,于是想动手试试写两简单的程序编译跑跑看。 不习惯 Mac,在 Windows 下装了个 GNUstep 也可以玩。 非常简单的几步,你也来试试吧? 1. 下载并安装 GNUstep 下载地址:http://ftpmain.gnus

Never too late to study 960

win10 Clion gcc CMake环境初始化Failed to reload报错:gcc.exe: error: language objective-c not recognized

clion从源码新建cmake项目,环境初始化的时候(reload CMakelLists.txt) 时候报错: 报错1: g++.exe: error: CreateProcess: No such file or directory 报错2gcc.exe: error: CreateProcess: No such file or directory 报错3: gcc.exe: error: language objective-c not recognized 这几个错是同时报的。 详

Hello Word! 2939

Ubuntu18.04 如何用gcc编译objective-c

objective-c是Apple系统官方的开发语言之一,最近因为项目原因需要开发IOS应用,所以就要学习objective-c。由于时间紧迫不可能一直在公司看资料练习,平常在租房时也需要看资料。编程语言本来就是实践学科,光靠看书没用,还要边看边学。苦于mac proc在工作日周一到周五放在公司,租房就没有可以开发的环境了。通过资料发现gcc在Linux上可以编译objective-...

SweetTool的专栏 1549

window下Objective-C 2.0 集成开发环境 Clang编译器版本

公司要求搞IOS的开发,这段时间就开始学习这方面的知识,由于苹果设备还没有送到,就搜了一下,发现可以在window下进行Objective-C的开发,http://blog.csdn.net/kylinbl/article/details/6407010 但是网上很多讲解在window下的Objective-C 2.0的集成开发环境教程,都是基于GCC的,而苹果用的是Clang,主要是GCC没有

saicheng的专栏 2373

Objective-C 2.0程序设计》摘要

1. 命令行下编译 可以使用名为gcc的GNU Objective-C编译器来编译并链接这个程序,gcc命令一般的格式为: gcc -framework Foundation files -o progname 该选项说明你要使用有关Foundation框架的信息: -framework Foundation 2. 语法 Objective-C是区分大小写的 Obj-C采用特定的语法...

bluepeer的博客 184

objective-c HelloWorld实践 (gcc编译器)

#import int main(){ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Programming Object-C!"); NSLog(@"How are you!"); [pool drain]; return 0; }C:\Users\jackz\Desktop\codes\cp

修也 1807

C++ Language Standards Supported by GCC ( GCC 支持C++语言标准 )

Using the GNU Compiler Collection C++ Language Standards Supported by GCC C++ Language GCC supports the original ISO C++ standard published in 1998, and the 2011 and 2014 revisions. GCC支持1998年出版的原始 ISO

letshi 1516

[ C语言 ] 发展历程与实践标准

本文梳理了C语言从诞生到标准化的演进历程,重点分析了其与Unix系统的共生关系及对现代计算的基础性影响。丹尼斯·里奇为解决Unix移植性问题而设计的C语言,通过标准化进程(C89/C90、C99、C11、C17/C18)逐步完善,解决了代码兼容性、多线程支持等关键问题。C语言的高效性与可移植性使其成为操作系统、嵌入式系统等底层开发的核心工具,其设计理念深刻影响了后续编程语言的发展。尽管面临新语言的竞争,C语言在性能敏感领域仍保持不可替代的地位,其标准化进程也体现了工业界对稳定性的重视。

A41311141的博客 682

3.Linux基础开发⼯具【由浅入深-Linux】

在 Windows 环境中,我们习惯了双击 或 文件并一路点击“下一步”来安装软件。但在 Linux 的世界里,软件的分发和安装理念有着本质的不同。Linux 强调权限控制、模块化和依赖管理。为了帮您构建完整的 Linux 系统管理知识体系,我们可以将 Linux 下安装软件的方式归纳为五大主流阵营。这是 Linux 下最正统、也是日常使用频率最高的方式。它又细分为“在线仓库安装”和“本地包安装”两种场景。1. 在线仓库安装(如同手机自带的 App Store) 操作系统维护着一个庞大的软件云端仓库。通

插花弄玉的博客 472

【摘录】在Windows平台上使用Objective-C

  虽然到目前为止最好的Objective-C 编码平台来自苹果公司,但它们绝不仅适用于苹果公司的平台。Objective-C 在Linux、BSD 甚至Windows 等其他平台都有相当久远的历史。根据具体需求,你会发现一些能很好地支持这些替代平台的开源社区。本章将简要介绍一些其他的平台,并告诉你在哪里可以找到更多关于它们的信息。   在其他平台上使用Objective-C 时面临的最大的挑战...

weixin_34318326的博客 200

混合使用Objective-C,C++Objective-C++

之前有段时间,我参与了一项使用了C++库的Objective-C项目。写了一篇关于混编的文章,结果却出乎意料的成为Google搜索中关于Objective-C++的最靠前的结果之一。 后来,Apple将基于LLVM的clang做为主选编译器。其作用之一就是可以保证Objective-C的演化,而GCC的进化却太慢了。之前文章就不太适用了,而且在这个过程,我也收到了一些回馈,这些都促使我写

Mirage520的专栏 816

基于VSCode和CMake进行C/C++开发【理论】+【实战】Linux篇 |第三讲:GCC编译器

第三讲:GCC编译器 前沿: 1、GCC编译器支持编译Go、 Objective-C, Objective-C++, Fortran,Ada,D和BRIG( HSAIL)等程序; 2、Linux 开发C/C++ 一定要熟悉GCC; 3、VSCode是通过调用GCC编译器来实现C/C++的编译工作的。 实际使用过程中: 使用gcc指令编译C代码 使用g++指令编译C++代码 3.1 编译工程 g++ test.cpp -o test分解为以下4个steps 1、预处理-Pre-Processing

tianyi520jx的博客 2426

c语言gcc编译常见报错及解决方法整理

本文主要是整理c程序编译过程的常见报错的解决方法,方便大家及时解决问题。^~~~定义一个数组 a[n],说明该数组有n个元素,那么这个数组中元素最大的下标是 n–1;而元素 a[i] 表示数组 a 中第 i+1 个元素,数组修改为如下表示即可。关于警告Warning:Implicit declaration of function “xxx” is invalid in C99!1.函数的声明放在头文件(H文件);2.函数定义在源文件(C文件);3.函数的名称是否一致(大小写要一致);

Luckiers的博客 8283

Objective C编程规范以及建议

本文记录一下Objective-C编程规范以及一些建议,可能后续会有些修改和补充,至于初衷是最近接手的项目中代码"有些"凌乱,所以整理了一篇,有一些来自网上,有一些是我平时的代码风格的吧~ 方法声明和定义 -或者+和返回类型之间须使用一个空格,括号要同行并有一个空格 方法应该像这样: - (void)doSomethingWithString:(NSString *)theString { ...

weixin_34192732的博客 146

clion检测不到c++ compiler

apt-get install g++

atarik@163.com 3652

g++ is not recognized as an internal or external command解决方法,初用MinGW碰到的坑

之前一直用Qt或者CodeBlocks上带的MinGW,这次自己装了一个,碰到一堆问题。 一 在用g++编译的时候报错: stddef.h: No such file or directory stdarg.h: No such file or directory 按照报错路径寻找,确实没有这两个文件,不过用everything查找一下其实是有的,只不过在别的路径下,应该就是路径错误,因为只有两个文件,所以就直接复制粘贴进去了。 二 \MinGW\bin\..\lib\gcc\mingw32\3.4.5\.

malloc_luo的博客 8433
上一篇: C++ Language Standards Supported by GCC ( GCC 支持的C++语言标准 )
下一篇: Go HSAIL and Other Language Standards Supported by GCC ( GCC 支持的Go HSAIL和其他语言标准 )
letshi
博客等级 码龄16年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值