背景:将C函数转换为Objective C还是包含C库的替代方法?
我是新来的Objective-C,我从来没有碰过C之前。我试图在我的iPhone/iPod Touch项目中包含一个C库,并且无法使用包含的指令成功编译库的源代码,因此我已经使用Xcode包含.h和.c文件。图书馆是希伯来文日期和相应的犹太节日。它可以在这里找到:http://sourceforge.net/projects/libhdate/
我似乎无法将.c文件导入到我的实现文件中。我可以导入.h文件。当我尝试使用#import "file.c"
,其中file.c是XCode中的文件时,它不起作用。为什么不?
我认为只是在Objective-C中编写函数,尽管只是我需要的函数而不是整个库。
如何在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;
}
所以......我应该转换它,或者试图以某种方式来编译,以适当的格式和怎么做的? (顺便说一下,我不知道静态库应该采用什么格式,或者它应该是静态的... - 我很迷茫......)
我很感谢帮助!
那么,请您详细说明如何使用库?这是否意味着我可以从Objective c中开始调用C函数? – Moshe 2010-03-28 06:03:19
显然如此。我需要弄清楚这个论点的正确格式,我很乐意去... – Moshe 2010-03-28 06:11:07