최대 1 분 소요

#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
\