2013-10-03 6 views
2

현재 Keil 컴파일러로 C로 코딩하고 있습니다. 필자는 인라인 함수 (필자가 사용해야하는 성능 문제)와 인라인 함수가 포함 된 파일을 사용해야하는 문제에 직면하고 있습니다. 이 인라인 함수는 헤더 파일에 선언되어 있으며 헤더가 포함 된 다른 파일에서 액세스하려고합니다. 난 항상 얻을 : 정의되지 않은 기호 오류 함수의 호출에 ... 여기 다른 파일에서 인라인 함수에 액세스

내 문제를 설명하기 위해 예입니다

파일 : test.h

extern void my_function (void); 

파일 : TEST.C를

#include "test.h" 

__inline void my_function (void) 
{ 
    printf("test ok\r\n"); 
} 

파일 : main.c의

#include "test.h" 

int main (void) 
{ 
    my_function(); 
} 

==> 연결 오류 : 정의되지 않은 기호 my_function

대신 매크로를 사용할 수는 있지만 내 문제를 해결하기위한 다른 대안을 알고 있습니까?

+0

는 헤더에 표준 C99 연습이다 헤더 파일에 –

+1

'정적 inline'를 인라인 FUNC를 정의합니다. –

답변

2

당신은 당신의 헤더 파일에 인라인 함수를 정의 할 수 있습니다

File : test.h 

static inline void my_function (void) 
{ 
    printf("test ok\r\n"); 
} 
1

문제의 해결책은 헤더 파일에 인라인 함수를 정의하는 것입니다.

관련 문제