extern에 대해서
#include
int main(int argc, char *argv[])
{
printf(“Hello, world
“);
return 0;
}
#ifdef ________
extern 사용법에 대해서 궁굼하다..
우선… 기본적인 사용방법은….
func1.c 에 전역변수로 int test_extern 이 있다면
func1.h 에 extern int test_extern 을 선언하고
func2.c 에서
#include “func1.h”을 하여
test_extern을 쓸수있따…
궁굼한것은….
func1.c에 전역번수로 사용한 변수를…
func2.c에서 extern 으로 끌어 쓸수있느냐에대한 고찰..
이유 : 우리가 func1.c를 고칠수 없는 상태에서 func2.c 에서 끌어 쓰고 싶어서.
#endif
#ifdef ______________
소스코드를 컴파일하면 소스코드의 기계어 코드인 오브젝트 코드가 만들어지고, 이것을
실행에 필요한 라이브러리와 링크하면 하나의 실행파일이 만들어진다.
하지만 -c 옵션을 사용하면 컴파일만을 실행하고 해당하는 오브젝트 코드인 .c 파일만 생성한다.
즉 hello.c 에서 .c 부분을 떼어내고 .o를 붙인 파일인 hello.o를 만들어 낸다.
*이렇게 -c 옵션을 사용하는 이유는 여러 개의 소스 파일을 묶어서 실행파일을 만들기 위해서이다.
* 예를 들어서 abc.c와 def.c라는 파일을 가지고 ‘xyz’라는 실행파일을 만들고 싶으면 다음과 같이
하면 된다.
gcc -c abc.c\
gcc -c def.c
gcc -o xyz abc.o def.o
./xyz \
파일이름 : main.c
extern void hello_world();
int main()
{
hello_world();
return 0;
}
파일이름 : hello.c
#include
void hello_world()
{
printf(“Hello linux world
“);
}
#endif
\