g++에서 매번 입력하는 대신 기본적으로 -std=c++14를 사용했으면 좋겠습니다. 어떻게 해야 합니까?
답변1
놓다:
alias g++='g++ -std=c++14'
프로필(또는 .bashrc
)에 있습니다. 다음에 로그인할 때(또는 새 터미널을 시작할 때 .bashrc
) 이 명령이 g++
실행됩니다 g++ -std=c++14
.
단일 터미널 인스턴스의 경우에만 명령줄에 이를 입력하세요. 대부분의 경우 이 방법이 작동하지만 문제가 있는 경우 다음을 시도해 보세요.
g++
바이너리(예: )에 대한 리터럴 경로를 참조하는 /usr/bin/g++
스크립트나 프로그램이 있는 경우 g++
바이너리를 새 파일 이름으로 이동하고 다음 g++-bin
과 같은 이름의 동일한 디렉터리에 스크립트를 작성할 수 있습니다.g++
#! /bin/sh
/usr/bin/g++-bin -std=c++14 "$@"
이는 별칭과 동일한 최종 결과를 가지지만( $@
상위 스크립트의 모든 인수를 g++
바이너리로 전달) 스크립트를 참조할 때 컴파일러에 대한 전체 경로를 사용하게 됩니다.
chmod 755
이 방법을 사용하는 경우 스크립트를 실행 가능하거나 유사하게 만드십시오.
/usr/bin
또한 스크립트 를 (또는 배포판에 상응하는 것) 에 넣으면 g++가 업데이트될 때 패키지 관리자가 g++ 스크립트를 덮어쓰게 되므로 스크립트를 더 높은 우선순위를 가진 다른 디렉터리의 변수에 넣을 수 있습니다 PATH
.
저는 개인적으로 이런 종류의 작업을 위해 홈 디렉터리( ) ~/bin
에 디렉터리를 만들고 ~/.profile
변수 시작 부분에 및 줄을 추가합니다.~/.bashrc
$HOME/bin
PATH
PATH="$HOME""/bin:""$PATH"
export PATH
답변2
~에 따르면GCC 페이지에서 C++ 표준 지원, C++14는 GCC 6.1 이상의 기본 버전입니다.
이 모드는 GCC 6.1 이상에서 기본값입니다.
-std=c++14
명령줄 플래그를 사용하여 명시적으로 선택하거나-std=gnu++14
GNU 확장을 활성화할 수 있습니다.
현재 릴리스에서는 아무 것도 수행할 필요가 없습니다. (GCC 6.1은 2016년 4월 말에 출시되었습니다.)