将C函数转换为目标C,或以其他方式包含C库?

将C函数转换为目标C,或以其他方式包含C库?,c,objective-c,iphone,import,libraries,C,Objective C,Iphone,Import,Libraries,背景: 我是Objective-C的新手,以前从未接触过C。我试图在我的iPhone/iPod Touch项目中包含一个C库,但我无法使用包含的指令成功编译库的源代码,因此我求助于在Xcode中包含.h和.C文件。图书馆是为希伯来日期和相应的犹太节日。可以在这里找到: 我似乎无法将.c文件导入到我的实现文件中。不过我可以导入.h文件。当我尝试使用#import“file.c”时,file.c是XCode中的一个文件,它不起作用。为什么不呢 我考虑过用Objective-C编写函数,尽管只是我需要

背景:

我是Objective-C的新手,以前从未接触过C。我试图在我的iPhone/iPod Touch项目中包含一个C库,但我无法使用包含的指令成功编译库的源代码,因此我求助于在Xcode中包含.h和.C文件。图书馆是为希伯来日期和相应的犹太节日。可以在这里找到:

我似乎无法将.c文件导入到我的实现文件中。不过我可以导入.h文件。当我尝试使用
#import“file.c”
时,file.c是XCode中的一个文件,它不起作用。为什么不呢

我考虑过用Objective-C编写函数,尽管只是我需要的函数,而不是整个库

如何使以下C函数在Objective-C中工作?是否还有其他需要包括/重新编码/编译的内容?为什么呢我几乎可以肯定少了什么,但我不确定是什么

代码:

int-hdate\u-get\u-omer\u-day(hdate\u-struct-const*h)
{
国际奥马尔日;
hdate_struct十六辆日产;
hdate\U set\U hdate(日产16、7、h型车&16辆车->hd\U年);
omer_day=h->hd_jd-16th_nissan.hd_jd+1;
如果((欧美日>49)| |(欧美日<0))
奥马尔日=0;
返回奥马尔日;
}
所以。。。我应该转换它,还是尝试以某种方式编译成适当的格式,以及如何转换?(顺便说一句,我不知道静态库应该采用什么格式,或者它是否应该是静态的…-我在这里迷路了…)


我感谢你的帮助

不导入实现文件。您只需将它们一起编译并包含适当的头,这样代码就可以了解函数和数据类型声明。

那么,请详细说明如何使用该库好吗?这是否意味着我可以从Objective C中开始调用我的C函数?显然是这样。我需要找出这个论点的正确格式,我很乐意。。。
int hdate_get_omer_day(hdate_struct const * h)
{
    int omer_day;
    hdate_struct sixteen_nissan;

    hdate_set_hdate(&sixteen_nissan, 16, 7, h->hd_year);
    omer_day = h->hd_jd - sixteen_nissan.hd_jd + 1;

    if ((omer_day > 49) || (omer_day < 0)) 
        omer_day = 0;

    return omer_day;
}