Jump to content

CFLAGS

From DawoumWiki, the free Mathematics self-learning

CFLAGSCXXFLAGS컴퓨터 소프트웨어를 빌드하는 과정에서 컴파일러에 전달되어야 할 추가 스위치를 지정하기 위해 설정될 수 있는 환경 변수(environment variable)의 이름이거나 Makefile 변수의 이름입니다. FFLAGS는 유사한 역할을 수행합니다.[1]

이들 변수는 보통 Makefile 내부에 설정되고 그런-다음 컴파일러가 호출될 때 명령줄에 덧붙여집니다. 만약 그것들이 Makefile에 지정되지 않으면, 그것들은, 만약 있으면, 환경에서 읽힐 것입니다. autoconf의 ./configure 스크립트와 같은 도구는 보통 환경에서 그것들을 선택하고 생성된 Makefile에 그것들을 기록합니다. SDL과 같은 일부 패키지 설치 스크립트는 CFLAGS 설정이 일반 설정을 (그것들을 덧분이는 대신에) 덮어쓰는 것을 허용하므로, CFLAGS를 설정하는 것은 이 경우에서 해를 입을 수 있습니다.

CFLAGSC 컴파일러에 대해 스위치의 추가를 활성화하지만, CXXFLAGSC++ 컴파일러를 호출할 때 사용됨을 의미합니다. 마찬가지로, 변수 CPPFLAGSC 또는 C++ 전처리기에 전달되어야 할 스위치와 함께 존재합니다. 마찬가지로, FFLAGSFortran 컴파일러에 대해 스위치의 추가를 활성화합니다.

이들 변수는 컴파일러에 대한 최적화 또는 디버깅 스위치를 지정하기 위해, 예를 들어 -g, -O2 또는 (GCC-지정) -march=athlon로 가장 공통적으로 사용됩니다.

Configurations

우분투 전반에 걸쳐 CFLAGS, CXXFLAGS를 설정하고 싶으면, /etc/environment에 옵션을 적어줄 수 있습니다.

  • sudo nano /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
CFLAGS="-O2 -march=znver1"
CXXFLAGS="-O2 -march=znver1"

또는 현재 사용자의 옵션을 바꾸고 싶다면, ~/.bashrc에 적어줍니다.

  • sudo nano ~/.bashrc
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
export CFLAGS="-O2 -march=znver1"
export CXXFLAGS="-O2 -march=znver1"

See also

References

  1. ^ Stallman & McGrath 2020, sec.10.3.

Stallman, Richard M.; McGrath, Roland; Smith, Paul D. (2020) [1st pub. 1988]. GNU Make. A Program for Directing Recompilation (PDF). Free Software Foundation.

External links