代码之家  ›  专栏  ›  技术社区  ›  William Jockusch

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

  •  3
  • William Jockusch  · 技术社区  · 14 年前

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

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

    保持事情井然有序的最好方法是什么?

    编辑--添加更多详细信息:

    我可以让Xcode创建一个 目标C类 “VectorSum”,删除实际的类头和实现,在实现文件中定义上述函数VectorSum,使头文件包含以下内容:

    #import <Foundation/Foundation.h>
    
    CGPoint vectorSum (CGPoint point1, CGPoint point2);
    

    但是,如果我尝试使用Xcode的选项来创建一个直接的C文件,我就无法让它工作。如果我不导入基础,编译器会抱怨它不知道CGPoT是什么。如果我真的导入了这个基础,我会得到一个巨大的编译器错误,大概是因为XCODE试图读取C代码的基础。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Nick Dowell    14 年前

    普通C代码不能导入objective-C框架(Cocoa/Foundation/etc)。

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

    #include <ApplicationServices/ApplicationServices.h>
    

    #include <CoreFoundation/CoreFoundation.h>
    

    头文件将非常有用,以便您的其他代码可以包含它来获取helper函数的声明。