如何将一个简单的应用程序(仅使用标准 libc)移植到 iPhone OS?

Posted

技术标签:

【中文标题】如何将一个简单的应用程序(仅使用标准 libc)移植到 iPhone OS?【英文标题】:How to port a simple application (which uses only standard libc) to iPhone OS? 【发布时间】:2010-06-16 14:50:52 【问题描述】:

有一个用 C 编写的简单应用程序,它只包括标准 C 库函数(来自 stdio、stdlib 等)和 Makefile+GCC 来构建它。现在,我想将它移植到适用于 iPhone/iPad 的 iPhone OS。会是无缝的还是有任何可能的不兼容问题?

【问题讨论】:

【参考方案1】:

您不能简单地为 iphone/ipad 操作系统编译代码,因为他们的应用程序是用目标 C 编写的。不过好消息,您可以在目标 C 中使用 C/C++ 代码,方法如下:

Introduction to The Objective-C Programming Language

所以如果你真的想移植你的应用程序,我建议你开始学习一些目标 C。请注意,所有 UI 都必须用 UIKit 重写,在 Objective C 中。

哦,还有,你需要一个 mac!

【讨论】:

是和否。你可以只为 iPhone 编译 C 代码,因为 Objective-C C。你可能无法使用所有你习惯使用的东西(比如从标准输入读取等),但它仍然会编译...【参考方案2】:

您的主要问题将是程序如何显示其输出 - 标准 C 库提供的支持与 iPhone 应用程序的预期不匹配。您将不得不处理程序的这些方面。

【讨论】:

以上是关于如何将一个简单的应用程序(仅使用标准 libc)移植到 iPhone OS?的主要内容,如果未能解决你的问题,请参考以下文章

术语“libc”是不是等同于“C 标准库”?

红移光谱:如何仅导入某些文件

gcc默认链接到libc.a或libc.so吗?

MSVC 2019:遗留库中的 libc 外部未解决

是否可以创建一个 C++ 程序,只链接到 libcs​​tdc ++,而不链接到 libc? [关闭]

libc中的错误?如何读取转储文件?