我想在 Xcode 项目中使用一些 C++ 代码,但我对这两种语言的理解都不够好,还不知道如何进行。我已经在 Obj-C 工作了一段时间,并且在应用商店有一个应用,但仍在学习......
我要使用的代码有两个同名文件和 .h 和 .c 扩展名。我认为它们对应于 Obj-C 中的 .h 和 .m 文件,但它们缺少 @interface 和 @implementation 我熟悉的结构。还有一个我不知道该怎么处理的 main.c 。看起来它是主程序 - 我应该尝试将其代码提取到我的主 viewController 中吗?
也许是一个好的教程的链接?可能这个问题太模糊了……
仅供引用 - 我要使用的代码用于计算日出和日落时间,位于:http://www.risacher.org/sunwait/
谢谢!
编辑:
感谢您的建议 - 在我得到这个之前,我可能需要做更多的学习。但我取得了一些进展......
在 main.c 中(有一个名为那个的文件似乎很奇怪......)有一个这样的函数(?):
int mainFunction(int argc, char *argv[])
{
// a bunch of function-y stuff
}
它被称为 main 但我将其更改为 mainFunction 以消除错误。现在它编译了,我可以调用它,但是编译器会警告我:warning:implicit declaration of function 'mainFunction' ,它在我调用它后崩溃。
Best Answer-推荐答案 strong>
Now it compiles and I can call it but the compiler warns me thus: warning: implicit declaration of function 'mainFunction' and it crashes after I call it.
这是因为,在您使用此函数的地方,您没有前向声明或包含该函数的声明。在您的 Objective-C 代码中,您应该添加以下代码:
int mainFunction(int argc, char *argv[]);
另请注意,“.c”文件扩展名是 C 代码,而不是 C++。由于 Objective-C 是 C 的超集,您可以轻松地将扩展名更改为“.m”,但您仍然会遇到相同的错误,因为您需要此前向声明。我强烈建议您在进入 Objective-C 世界之前先熟悉 C 和 C++ 代码。如果您不想学习 C++,那么至少,您应该在学习 Objective-C 之前加强您的 C 知识,因为 C 基础知识适用。
关于c++ - 如何在 Objective-C 项目中合并 C++ 代码?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/4320940/
|