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

时间:2010-07-08 00:15:26

标签: c xcode

我想在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代码。

1 个答案:

答案 0 :(得分:1)

普通C代码无法导入Objective-C框架(Cocoa / Foundation / etc)。

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

e.g。

#include <ApplicationServices/ApplicationServices.h>

#include <CoreFoundation/CoreFoundation.h>

Xcode没有提供向项目添加简单.m文件的选项,但您只需添加.c文件,然后将其重命名为.m即可。

头文件很有用,这样你的其他代码就可以包含它来获取你的帮助函数的声明。