【问题标题】:Converting from C++ with OpenGL to Objective-C code从使用 OpenGL 的 C++ 转换为 Objective-C 代码
【发布时间】:2014-05-01 19:56:21
【问题描述】:

我最近买了一台 Mac,想用 Cocoa 用 Objective-C 重写我的一些程序,但两者都没有经验。

我想最容易开始的是我的一些 C/C++ OpenGL 代码(主要是我的类、宏和数学函数)。我在某处读到 C++ 代码可以在 Objective-C++ 编译器中使用。这是真的吗,如果是,我该如何包含这些文件?

另外,我在哪里可以找到关于如何在 Objective-C 中使用 Cocoa 启动基本应用程序的好资源?与 Windows 和 OpenGL 相比,Cocoa 的资源似乎很少,所以我很难找到信息(请注意免费信息)。

如果您认为这种转换是一个坏主意,我将不胜感激。提前致谢!

【问题讨论】:

  • 当您可以按原样导入 C++ 代码时,为什么要转换?您只需将调用 C++ 功能的 Objective-C 文件从 .m 更改为 .mm
  • 不确定,这就是我要问的。我找不到任何好的教程或信息,而且我从未使用过 Objective-C(C/C++、C#、Java)。如果我导入代码,当我在 Objective-C 中调用它们时,函数调用是如何工作的?我的宏会一样工作吗,或者 Objective-C 是否有预编译器?如何告诉我的编译器代码是 Objective-C++ 而不是 Objective-C?诸如 lambda 表达式之类的 C++11 功能在 Objective-C++ 中是否有效。显然你无法回答所有这些问题,尤其是没有代码的情况下;我真的只需要指向涵盖这些主题的某种来源的链接。
  • 40two 是对的,你基本上只是想让你的项目成为一个 obj-c++ 项目,编译器应该按原样工作(llvm),但如果你愿意,你可以在某个地方的设置中将它换成 gcc。你可能需要做一些 obj-c 来让你的代码运行起来,但它应该是非常少的。能够在 obj-c(++) 中无缝运行 c/c++ 是该语言的一大特色

标签: c++ objective-c cocoa opengl code-conversion


【解决方案1】:

当您可以按原样导入 C++ 代码时,为什么要进行转换?您只需将调用 C++ 功能的 Objective-C 文件从 .m 更改为 .mm,请查看以下链接:

http://answers.oreilly.com/topic/631-how-to-get-c-and-objective-c-to-play-nicely-in-xcode/

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 1970-01-01
    • 2014-10-25
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多