GCC, G++ 사용법




1. 코드 입력후 .c 나 .cpp 로 저장한다. (~/Documents/example.c)



2. 컴파일 하여 실행파일을 같은 폴더에 저장한다.(~/Documents)


 $ gcc ~/Documents/example.c -o ~/Documents/executable


혹은 C 파일이 들어있는 폴더로 이동후 컴파일하여 실행파일을 저장한다.


 $ cd ~/Documents

 $ gcc example.c -o executable



3.  프로그램 실행


 $ ./Documents/executable 혹은 ./executable



4. C++ 파일은 g++ 로 동일하게 컴파일후 실행하면 된다.






5.  그 외 쓸만한 디버깅 옵션들...


-g : gdb 디버깅 기능을 활성화 시킨다.


-Wall : 문법상 문제는 없지만 의심스러운 코드들을 경고로 표시해준다.


-0(숫자0) : 리눅스에 최적화된 코드 생성











Valgrind 디버거 사용법



malloc(), realloc(), calloc() 같은 메모리 동적 할당을 하고 해제 해야하는건 누구나 아는 기본중 기본이다.


하지만 사람은 끝도없는 실수를 반복해서 Valgrind 같은 메모리 leak를 잡아주는 디버거를 사용해야한다...





1.

http://www.valgrind.org/ 

사이트로 이동해서 최신버젼의 소스코드를 다운받고 압축 해제한다.



2. 설치한다.


 $ cd valgrind-3.0.4 

 $ ./configure 

 $ make 

 $ make install



3. 컴파일 된 실행 파일을 valgrind 로 디버깅 한다.


 $ valgrind -v --leak-check=yes ./executable



4. 실행 결과





still reachable 은 무시해도 된다.


-g 옵션을 사용하여 더 자세하게 출력시킬수 있다.






참조 : 


- gcc 

http://pages.cs.wisc.edu/~beechung/ref/gcc-intro.html

https://gcc.gnu.org/


- valgrind

http://valgrind.org/docs/manual/quick-start.html


+ Recent posts