ios的底层是什么语言

ios的底层语言是:objective-c(也称object-c),是基于C++的。iOS开发的标准语言是objective-c。是c的一种超集, 它是对c的扩展,支持面向对象编程。像后来的一些高级语言java,c#等都借鉴了该语言的面向对象特性。

一、ios的底层是什么语言

ios开发使用的语言是objective-c(也称object-c),是基于C++的。

iOS开发的标准语言是objective-c。是c的一种超集, 它是对c的扩展,支持面向对象编程。像后来的一些高级语言java,c#等都借鉴了该语言的面向对象特性。 当然在iOS开发过程中,也支持c/c++语言与原生的objective-c混编。

二、基本特点

Objective-C是非常实用的语言。它是一个用C写成很小的运行库,令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Objective-C写成的程序通常不会比其原始码大很多。

而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(Application Binary Interface)上,还需要使用extern “C”这种显式声明来与C函数进行兼容),而在此基础上增加了面向对象编程语言的特性以及Smalltalk消息机制。

Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的死亡时间,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep), Apple在其Mac OS X 10.3中仍未引入这个功能。

延伸阅读

Objective-C是什么

Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。

GCC与Clang含Objective-C的编译器,Objective-C可以在GCC以及Clang运作的系统上编译。

1980年代初布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。Objective-C最主要的描述是他1986年出版的书 Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.

Objective-C 基本语言特点

Objective-C是非常实用的语言。它是一个用C写成很小的运行库,令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Objective-C写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(Application Binary Interface)上,还需要使用extern “C”这种显式声明来与C函数进行兼容,而在此基础上增加了面向对象编程语言的特性以及Smalltalk消息机制。

Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的死亡时间,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep), Apple在其Mac OS X 10.3中仍未引入这个功能。

虽然Objective-C是C的超集,但它不是C的基本类型为名列前茅级的对象。

文章标题:ios的底层是什么语言,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/49202

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年4月13日 下午2:30
下一篇 2023年4月13日

相关推荐

  • 电信oa是什么意思

    电信OA即为电信业务在线评审系统,主要用于电信行业内部进行业务流程的管理、工作自动化和数据处理。该系统将业务流程和审批工作数字化,帮助加快决策过程、提高特定任务的执行效率及优化项目管理能力。其中一个关键特性为提供可视化的工作流接口,使得员工能够直观地了解工作进度,并据此确保项目按时完成。 电信在线审…

    2024年1月11日
    36600
  • html转换为pdf

    将HTML转换为PDF是在开发、报告和文档创建中常见的需求。本文将介绍几种将HTML转换为PDF的方法,包括1、使用在线转换工具;2、使用浏览器的打印功能;3、使用编程库和API;4、使用专业的转换软件。这些方法适用于不同的需求和技能水平。 一、使用在线转换工具 有许多在线工具可以将HTML文件或网…

    2023年8月17日
    45800
  • oa办公系统需要开通什么模块

    开通以下模块:一、人事管理模块;二、流程审批模块;三、公文管理模块;四、项目管理模块;五、资产管理模块;六、客户关系管理模块;七、知识管理模块。人事管理模块是OA系统中最基本的模块之一。它包括员工档案管理、考勤管理、薪资管理等内容。 一、人事管理模块 人事管理模块是OA系统中最基本的模块之一。它包括…

    2023年5月28日
    35700
  • 比特流下载是否合法

    比特流是一种合法的文件传输协议,只要内容可以合法地下载或上传,其使用(称为流下载)也就合法。但是,如果使用它来下载受版权保护的材料(例如新出的电影),并且未得到版权所有者的许可,就是不合法的。 比特流下载是否合法 比特流是一种合法的文件传输协议,只要内容可以合法地下载或上传,其使用(称为流下载)也就…

    2022年11月7日
    39000
  • vscode为什么执行不了

    VSCode(Visual Studio Code)可能执行不了代码的原因有几种,包括环境配置错误、扩展插件缺失、文件路径问题、代码错误、资源权限限制。最常见的问题是环境配置错误,在VSCode中开发不同的编程语言需要安装对应的编程环境和相应的VSCode扩展。比如,执行Python代码前,需要安装…

    2024年4月3日
    7700
  • C99标准中uintptr_t和size_t类型有什么区别

    C99标准中uintptr_t和size_t类型的区别:uintptr_t是可以容纳指针大小的integer type,但是size_t不一定是,在一些具有分段寻址机制的平台,size_t可能比一个指针的大小还小。 一、C99标准中uintptr_t和size_t类型的区别 uintptr_t是可以…

    2023年3月5日
    71000
  • vscode为什么吃内存

    Visual Studio Code(简称VSCode)作为一款轻量级但功能强大的源代码编辑器,它之所以会占用较多的内存,主要原因包括但不限于其丰富的插件生态系统、高度的自定义性、实时的错误检测与智能提示、以及其以Electron框架为基础的架构。其中,其以Electron框架为基础的架构是值得深入…

    2024年4月3日
    11800
  • 软件定制开发的好处是什么

    软件定制开发的好处是:1、针对性强,不做无用功能;2、使用方便,提升效率;3、服务周到,根据需求来;4、风格独特;5、费用降低等。我们在定制软件时,通常以客户核心功能点为基础,根据公司的产品、用户群体、销售覆盖区域等量身定制。 一、针对性强,不做无用功能 我们在定制软件时,通常以客户核心功能点为基础…

    2023年5月5日
    26100
  • 如何做好体重管理项目研究

    体重管理项目研究的关键在于理解目标人群、制定实证基础的方法、确保持续跟踪和评估。首先,研究者需要深入了解目标人群的特定需求、行为习惯和潜在障碍,这包括通过问卷调查、焦点小组讨论和市场分析等多种方式收集数据。紧随其后的是基于科学证据的方法论的选择,这要求研究者关注哪些饮食和运动干预已被证实对体重有正面…

    2024年4月10日
    4400
  • 都有哪些编程语言可以快速开发Windows下的GUI程序

    以快速开发Windows下的GUI程序的编程语言有:1、C#;2、Visual Basic;3、Delphi;4、易语言。C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。 1、C# C…

    2023年2月6日
    1.9K00

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部