편법이 아니고 그렇게 프로그래밍 하는겁니다.
C++에서 private 멤버를 건드려 주는 public 멤버를 두는것처럼..
세부적인 작업을 처리하는 static function으로 나누어 주고..
외부에 공개 되는 extern function으로 딱...
그러니깐..
a.c 에는..
static int a_a();
static int a_b();
static int a_b();
int a()
{
if (a_a() < 0) {
a_b();
} else {
a_c();
}
return 0;
}
...
a.h 에는
#ifndef __A_H
#define __A_H
int a();
#endif
b.c 에는
#include "a.h"
int c()
{
.....
a();
}
보통 이런씩의 스타일이 되겠죠.
밑에서 같은 경우에는 굳이
aaa()를 static 으로 두지말고..
바로 공개 시켜버리는게 좋겠군요.
뭐 아시겠지만..
static function으로 선언하는것은.
외부에 공개될 필요가 없는 함수들을 그 파일안에서만
접근 할수 있게 숨겨버리는거죠.
: static 한 함수를 부르기 위해 그위에 특정함수를 하나더 만들어도 될까요?
: 예를 들면
:
: ----------------
: A.C
:
: static int aaa();
:
: int bbb(){
: aaa();
: }
: ----------------
: B.C
:
: extern bbb()
: ----------------
:
: 라고 한다면 될까요? 약간 편법같은데..이러지 않고서는 static 한
: 함수를 못쓸거같은데...원래 이렇게하는게 맞는건가요?--월드컵에 아이스 커피를 타마시
: 고 싶다.