gpt4 book ai didi

objective-c - 如果 appl 编译为 native ,为什么还需要 Objective C 运行时

转载 作者:行者123 更新时间:2023-12-02 21:17:27 26 4
gpt4 key购买 nike

刚接触 Swift/Objective-c,有 Java、C# 和 C++ 背景。我的理解是,如果代码是非 native 的,就像 Java 或 C# 一样,会生成中间代码,在运行时需要一个将代码转换为机器语言的环境,我们称之为运行时环境(例如JRE)。

因此,在阅读了有关堆栈溢出的一些 Q 和 As 后,很明显 Swift 和 Objective-C 都被编译为 native 二进制文件。但它们需要 Objective-C 运行时来执行它们。

如果代码已经是机器语言,我不知道为什么还需要运行时?

它像链接到程序的库吗?

或者这个 Objective-C 运行时是托管 Objective-C/Swift 程序的单独环境吗?就像 JRE 一样?

有人可以解释一下吗?

谢谢,艾哈迈德

最佳答案

许多编程语言依赖 runtime libraries ,包括 C++。它们由低级例程组成,用于支持托管操作系统上的编程语言模型。 Objective-C 的运行时库实现了动态方法查找等核心功能。

Java 和 C# 需要 virtual machine ,这些比运行时库涉及更多。

HTH

关于objective-c - 如果 appl 编译为 native ,为什么还需要 Objective C 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29725423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com