728x90
[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다!
피드백 부탁드립니다. (- -)(_ _) 꾸벅
GCC란?
GNU Compiler Collection 줄여서 GCC라 한다. 원래는 C만 지원했던 까닭에 GNU C Compiler였는데, 도중에 C++, Java, Fortran, Ada 등 여러 언어를 컴파일할 수 있게 되면서, 현재의 이름으로 바뀌게 되었다.
Java는 7.1부터 지원 종료되었고, 현재 공식적으로 지원하는 언어는 C, C++, Objective-C, Fortran, Ada, Go이다.
비공식적으로 파스칼, 머큐리, PL/I, D, VHDL(베릴로그까지..?) 등이 있다.
GCC 설치하고 코딩해보기
나는 우분투 18.04에서 사용하였다. 먼저 아래 명령어를 입력하여 설치부터 하자.3
$ sudo apt-get update
$ sudo apt-get install gcc // C 컴파일러
$ sudo apt-get install g++ // C++ 컴파일러
이제 따로 폴더를 만들고, 그 폴더 안에서 간단한 소스파일을 코딩해주자.
$ vi [파일명].cpp
물론 C++이 아닌 C로 작성하려면 -> [파일명].c
그러곤 정말 간단하게 코딩하구 저장.
$ g++ [파일명].cpp -o [출력할 파일명]
터미널에 위에 같이 -o 옵션을 입력하면 지정한 파일명의 실행파일이 나오게 된다.
$ ./[실행할 파일명]
실행 파일을 위와 같이 터미널에서 실행하면
참 쉽다.
마찬가지로 C를 컴파일하려면 gcc 명령어를 이용하면 된다. 이 gcc명령은 C++을 위한 라이브러리는 포함돼있지 않기 때문에 gcc로 굳이 C++ 언어를 컴파일하려면
$ gcc [파일명].cpp -o [출력할 파일명] -lstdc++
위와 같이 -lstdc++ 옵션을 붙여주도록 하자
gcc에는 옵션이 많이 있으니, 사용할 때가 있으면 시기 적절히 사용하도록 하자.
--help : 간단한 옵션을 출력해줍니다.
--version : gcc의 버전을 출력해 줍니다.
-o : 출력 파일명을 지정할 때 사용합니다.
-c : 링킹 과정을 진행하지 않고 .o 파일인 오브젝트 파일까지만 생성 하게 됩니다.
-S : 어셈블러까지 진행 하지 않고, 컴파일러까지의 출력은 .S 어셈블러 파일을 생성하게 됩니다.
-O1 ~ -O3 : 최적화 수준을 지정합니다. 숫자가 클수록 높은 수준의 최적화를 하게 됩니다.
-g : 디버깅을 위한 정보를 컴파일하면서 생성하게 됩니다.
-D : define을 할 수 있는 옵션입니다.
-l (엘) : 라이브러리 이름을 지정합니다.
-L : 추가 라이브러리 디렉터리를 지정합니다.
-W : 모든 에러 메시지 출력
-w : 모든 에러 메시지를 출력하지 않음
-I(아이) : 추가 헤더 파일이 있는 디렉터리를 지정합니다.
출처: https://ibabo.tistory.com/87
728x90
'운영체제 (OS) > Linux' 카테고리의 다른 글
[CUDA] nvcc가 안될 때 ~/.bashrc 수정 (1) | 2021.01.21 |
---|---|
우분투에서 캡쳐(스크린샷) 기능 사용하기 (0) | 2021.01.05 |
CUDA와 Nvidia 드라이버의 Compatibility 및 설치 (0) | 2021.01.05 |
우분투에서 Nvidia 그래픽 드라이버 잡기 (0) | 2021.01.05 |
Linux(우분투)에서 CUDA 다운그레이드하기 (1) | 2021.01.05 |