【问题标题】:Mac OS X AssemblyMac OS X 程序集
【发布时间】:2013-08-30 06:13:53
【问题描述】:

从我最初的阅读看来,在 Mac OS X 上组装有两种选择。 - C 库 - BSD 系统调用。 - 目标 C 的东西

Mac OS X 上是否有等效的 Win32 API?

Apple 大量使用 Objective C; Objective C 在汇编中使用它添加了多少更改?

Apple 的 CoreFoundation 似乎已被放弃或没有大量使用,而是 Apple 选择使用 Objective C 而不是常规 C 库。

Mac OS X 似乎使用 NASM 汇编器。

这一切都来自在 MASM 和 Win32 API 方面拥有丰富经验的人。我希望我在这里得到了可怕的消息,因为现在 Mac 上的组装似乎很惨淡。

【问题讨论】:

    标签: macos assembly nasm


    【解决方案1】:

    在我看来,只有在使用 Cocoa 编写 GUI 应用程序时才真正需要使用 Objective-C,尽管它可以用于其他应用程序,因为存在许多从 Core Foundation 函数到 Objective-C 方法的映射。

    CoreFoundation 无疑是活跃的,尤其是在 OSX 的某些部分不使用 Objective-C 的情况下,例如内核扩展,它们完全是 C++,而内核本身主要是 C。

    我会说 Core Foundation 库是最接近 Win32 API 的匹配项,但如果您希望使用 Cocoa(GUI 小部件),那么您需要使用 Objective-C,除非您想选择对于像Qt framework 这样的东西。

    对于带有 Objective-C 的 ASM,Objective-C 是 C 语言的超集,因此您可以愉快地编写 C functions with embedded ASM,如果您想这样做的话。或者只写纯汇编代码,遵守OSX ABI function call guide

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多