|
다른 글에서 extern이 전역 변수를 선언하기 위함이라고 읽었습니다.
제가 빌더로 새로운 애플리케이션을 시작했습니다.
자동생성된 헤더파일의 마지막엔
extern PACKAGE TForm1 *Form1;
이라고 되어있네요.
이 구문이 무슨 역할을 하는 지 궁금합니다. 아시는 분께서 설명해 주소서...
여지껏 이게 무슨 뜻인지도 모르면서 프로그램이 잘 굴러왔다는게 신기합죠...
도움말은 읽어봤는데 정확히 그 범위가 어떻게 되는건지 아리아리 합니다.
extern "C"라고 하면 그저 DLL을 만들때 사용하는 거라고만 알고 있었거든요.
그런데 도움말에서는
extern int _fmode;
extern void Factorial(int n);
extern "c" void cfunc(int);
이런식으로 해놨네요?
만일 하나의 헤더파일에서
extern int _fmode;
extern void Factorial(int n);
이런식으로 썼다면 이 헤더파일을 include 하는 쪽에서 이변수와 똑같은
변수명이나 함수명을 사용할 수 없다는건가요?
아니면 같은 프로젝트에 속하는 파일전체에서 이런 이름을 사용할 수 없다는 건가요?
아니면 프로젝트는 물론이려니와 라이브러리에서도 이와 같은 이름을 사용할 수 없다는건가요?
|