1. gcc란?
- 리눅스에서 컴파일 시 사용하는 것( Microsoft Visual C++ 과 같은역할.)
2. gcc 컴파일 순서
전처리(processer)->전처리 파일("xx.i")->컴파일러(compiler)->어셈블리어 파일("xx.s")
->어셈블러(assembleer)->오브젝트("xx.o")->링커(linker)->실행파일("*.exe")
* 전처리 단계
- #include, #define등의 전처리 처리
- #include 헤드파일지정시 < > : 기본디렉토리 “ ” : 현재디렉토리에서
head파일을 참조한다.
- 그 결과로 "xx . i" 파일 생성
- "xx . I" 파일엔 키워드를 쓰게끔 전역함수가 설정 되어있다.ex)printf, scanf 등
*컴파일 단계
- 어셈블리어 파일 생성하는 단계 임시파일임
- 컴퓨터가 읽을수 있게 숫자등으로 치환 // 치환화일을 "xx . s"저장
*어셈블리어 단계
- 기계어코드( "xx . s" )을 읽어서 목적코드( "xx . o" )를 생성하는 단계
*링크 단계
- 여래개의 파일로 나누어져 있거나, 라이브러리 함수등
존재 할 때 서로 연결 시켜서 실행 가능한 프로그램으로
생성하는 단계
* 실행파일 생성
-링크단계가 끝나면 실행파일이 생성된다.
p.s. 리눅스에서 gcc 명령어로 소스파일(*.c)을 컴파일을 하게되면 /temp 에 *.i *.x *.o 파일은
임시로 저장되었다가 실행파일 생성후 사라진다.
<임시 파일 보기>
#gcc --save-temps -o 생성 될 실행파일 소스파일( * . c )
3. gcc 간단 사용방법("xx.c"->"*.exe")
---------------hello.c---------------------
#include
int
main ( void )
{
(void) printf ( "Hello, World\n" );
return 0;
}
-------------------------------------------
$ gcc -o hello hello.c
$
이처럼 아무것도 뜨지 않으면, 컴파일 성공이에요.
gcc -o {실행화일명} {c 소스명}
즉, -o 옵션이 출력(output) 파일명을 정하는 옵션이고
{실행화일명} 은 출력파일명을 써주면 되요.
그다음에 실행은
$ ./hello
Hello, World
$
이렇게 되면 끝~~
/********참고링크**********
-gcc 와 make 에 대해 잘나와있어요.
http://blog.naver.com/soojin001?Redirect=Log&logNo=140005614933
- 리눅스에서 컴파일 시 사용하는 것( Microsoft Visual C++ 과 같은역할.)
2. gcc 컴파일 순서
전처리(processer)->전처리 파일("xx.i")->컴파일러(compiler)->어셈블리어 파일("xx.s")
->어셈블러(assembleer)->오브젝트("xx.o")->링커(linker)->실행파일("*.exe")
* 전처리 단계
- #include, #define등의 전처리 처리
- #include 헤드파일지정시 < > : 기본디렉토리 “ ” : 현재디렉토리에서
head파일을 참조한다.
- 그 결과로 "xx . i" 파일 생성
- "xx . I" 파일엔 키워드를 쓰게끔 전역함수가 설정 되어있다.ex)printf, scanf 등
*컴파일 단계
- 어셈블리어 파일 생성하는 단계 임시파일임
- 컴퓨터가 읽을수 있게 숫자등으로 치환 // 치환화일을 "xx . s"저장
*어셈블리어 단계
- 기계어코드( "xx . s" )을 읽어서 목적코드( "xx . o" )를 생성하는 단계
*링크 단계
- 여래개의 파일로 나누어져 있거나, 라이브러리 함수등
존재 할 때 서로 연결 시켜서 실행 가능한 프로그램으로
생성하는 단계
* 실행파일 생성
-링크단계가 끝나면 실행파일이 생성된다.
p.s. 리눅스에서 gcc 명령어로 소스파일(*.c)을 컴파일을 하게되면 /temp 에 *.i *.x *.o 파일은
임시로 저장되었다가 실행파일 생성후 사라진다.
<임시 파일 보기>
#gcc --save-temps -o 생성 될 실행파일 소스파일( * . c )
3. gcc 간단 사용방법("xx.c"->"*.exe")
---------------hello.c---------------------
#include
int
main ( void )
{
(void) printf ( "Hello, World\n" );
return 0;
}
-------------------------------------------
$ gcc -o hello hello.c
$
이처럼 아무것도 뜨지 않으면, 컴파일 성공이에요.
gcc -o {실행화일명} {c 소스명}
즉, -o 옵션이 출력(output) 파일명을 정하는 옵션이고
{실행화일명} 은 출력파일명을 써주면 되요.
그다음에 실행은
$ ./hello
이렇게 되면 끝~~
/********참고링크**********
-gcc 와 make 에 대해 잘나와있어요.
http://blog.naver.com/soojin001?Redirect=Log&logNo=140005614933
'Server > └ Linux(Fedora)' 카테고리의 다른 글
[Linux]Fedora scim 한글입력기 설치 및 설정. (0) | 2009.09.17 |
---|---|
리눅스 초심자에게 유용한 링크 (0) | 2009.08.12 |
[Linux]service httpd (옵션) 에 대해.. (1) | 2009.04.02 |
[Linux]httpd.conf 설정파일 (0) | 2009.03.29 |
[Linux]고정 IP 사용시 설정. (0) | 2009.03.29 |