2012-02-23 2 views
0

안녕하세요 저는 c 함수를 목적 함수에서 호출하고 싶습니다. 어떻게 할 수 있습니까?/그냥 C 프로그램처럼, 다시 (관련 헤더를 포함 선언Objective-c C 함수 호출

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

잊지 마세요 : 여기

static BOOL test() { 

.... 


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

물어보기 전에 시도해 보셨습니까? Obj-C는 C의 수퍼 세트이므로 모든 C 코드는 Obj-C 클래스/환경에서 여전히 실행 가능합니다 – MJB

+0

물론 시도했습니다 –

답변

4

그냥 당신이 C 프로그램에서 것 같은 내 기능입니다).

daknøk 언급했듯이 Objective-C는 C의 엄격한 수퍼 세트이므로 C와 함께 작동하는 것은 Objective-C와 작동합니다.

+2

유효 한 C 코드의 모든 단일 부분은 유효한 Objective-C 코드입니다 C에서와 똑같은 일을합니다. –

+0

헤더를 선언한다는 것은 무엇을 의미합니까? C 코드는 메서드와 동일한 파일에 있는데 위의 코드를 사용하면 "C99에서 함수 테스트의 암시 적 선언()이 잘못되었습니다." –

+1

@MpampinosHolmens - 동일한 파일에있는 경우 선언 할 필요가 없습니다. 그것. 특정 오류가 발생하는 경우 그 오류를 알려주십시오. – MByD

1

원하는 작업 ... fallowing의 방법으로 객체 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 함수입니다 ...