gpt4 book ai didi

c - 在我的 Xcode 项目中组织 C 代码

转载 作者:行者123 更新时间:2023-12-02 04:15:08 25 4
gpt4 key购买 nike

我想在我的 Objective C 项目中包含一些直接的 C 函数。像这样简单的东西:

CGPoint vectorSum (CGPoint point1, CGPoint point2) {
return CGPointMake(point1.x+point2.x, point1.y+point2.y);
}

保持事物井井有条的最佳方法是什么?

特别是,我注意到当我去创建一个 .c 文件时,它给了我一个创建头文件的选项。这样做有用吗?

编辑——添加更多细节:

我可以通过告诉 Xcode 创建一个 Objective-C 类“VectorSum”、删除实际的类头和实现、在实现文件中定义上述函数 vectorSum 并使头文件包含以下内容来让一切正常工作:
#import <Foundation/Foundation.h>

CGPoint vectorSum (CGPoint point1, CGPoint point2);

这有效,但感觉“错误”。 . .当我真正想要的是 C 代码时,为什么我要从创建一个客观的 C 类开始呢?

但是,如果我尝试使用 Xcode 的选项来创建一个直接的 C 文件,我无法让它工作。如果我不导入基础,编译器会提示它不知道 CGPoint 是什么。如果我确实导入了基础,我会得到无数编译器错误,大概是因为 Xcode 试图将基础读取为 C 代码。

最佳答案

纯 C 代码无法导入 Objective-C 框架(Cocoa/Foundation/等)。

相反,包括相关的基于 C 的框架......

例如

#include <ApplicationServices/ApplicationServices.h>

或者
#include <CoreFoundation/CoreFoundation.h>

Xcode 没有提供向项目添加简单 .m 文件的选项,但您可以只添加一个 .c 文件,然后将其重命名为 .m 没有任何问题。

头文件将很有用,以便您的其他代码可以包含它以获取辅助函数的声明。

关于c - 在我的 Xcode 项目中组织 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199832/

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