2012-02-23 121 views
0

你好,我想调用一个c函数从一个客观的c方法我该怎么做?Objective-C调用C函数

这里是我的功能

static BOOL test() { 

.... 


if(...){ 
return YES; 
}else{ 
return NO; 
} 
.... 
} 
+0

你问过之前你还试过吗? Obj-C是C的超集,所以所有的C代码在Obj-C类/环境中仍然可行 – MJB 2012-02-23 23:10:38

+0

当然我已经试过了 – 2012-02-23 23:15:56

回答

4

就像你在一个C程序将:

-(void) myVoidMethod { 
    BOOL res; 
    res = test(); 
} 

不要忘了申报/包括相关的标题(再次,就像在C程序)。另外,正如daknøk提到的,Objective-C是C的一个严格超集,所以C的作品与Objective-C一起工作。

+2

值得注意的是,每一个有效的C代码都是有效的Objective-C代码并做与C完全相同的事情。 – 2012-02-23 23:00:54

+0

你是什么意思声明头? c代码与方法在同一个文件中,当我使用上面的代码说“隐式声明的函数test()在C99中是无效的” – 2012-02-23 23:05:57

+1

@MpampinosHolmens - 如果它在同一个文件中,那么你不需要声明它。如果你有一个特定的错误,请告诉我们它是什么。 – MByD 2012-02-23 23:07:41

1

你可以调用C函数从休耕的方式对象的C函数...

-(void)viewDidLoad 
{ 
    // calling the c function from objective-c function 

    someFunctionName(); 
} 

这是我对象的C函数

void someFunctionName() 
{ 
    // write logic what you want in this function... 

    int a ,b; 
    a=10; 
    b=20 
printf("A value is %d \n B value is %d",a,b); 


} 

这是我的C函数...