2013-09-02 2 views
2

저는 Windows 플랫폼에 있는데, 없이없이 모든 명령문에 -std=c99을 입력해야하는 C99 모드의 명령 줄에서 프로그램을 컴파일 할 수있는 방법이 있습니까? 현재 gcc 버전은 4.4.1입니다.c99 모드에서 컴파일하는 방법은 무엇입니까?

+2

설치 한 GCC 환경은 무엇입니까? POSIX 플랫폼과 같은'c99' 명령이있을 수 있습니다. –

+0

mingw32 .. 만약 당신이 무엇을 찾고 있는지. – Somjit

+0

주요 질문을 다시 작성해야합니다. '-std = c99'라고 대답했지만 OP가 다른 것을 원했기 때문에 대답을 삭제해야했습니다 :'모든 명령문에 -std = c99를 입력하지 않고 C99 모드로 컴파일하는 방법? ' – pablo1977

답변

2

gcc는 예를 들어 환경 변수를 통해 명령 줄 인수를 지정하는 방법을 제공하지 않습니다. -std=c99의 효과를 원한다면, 어떤 레벨에서 그 인수로 gcc 명령을 호출해야 할 것입니다.

Cygwin에서 사용되는 것과 같은 Unix 계열 명령 쉘에서 gcc을 호출하는 경우 이미 c99 명령이있을 수 있습니다. POSIX는 그러한 명령을 요구합니다 (이것은 gcc 명령을 감싸는 래퍼가됩니다). 나는 현재 Cygwin 설치가 없으므로 확인할 수 없습니다.

gcc -std=c99 %1 %2 %3 %4 %5 %6 %7 %8 %9 
:

c99() { 
    gcc -std=c99 "[email protected]" 
} 

는 Windows MS-DOS 스타일의 명령 프롬프트에서 호출하는 경우, 당신은 포함 c99.cmd라는 배치 파일을 만들 수 있습니다 거기가 아니라면, 당신은 쉘 함수를 정의 할 수 있습니다

귀하의 %PATH% 어딘가에 넣으십시오.

후자의 방법은 최대 9 개의 명령 줄 인수 만 처리하므로 보통이면 충분합니다. (더 많은 것을 처리 할 수있는 방법이 있다고 생각합니다.)

컴파일 타임에 더 많은 오류를 잡으려면 -pedantic -Wall -Wextra과 같은 더 많은 인수를 추가 할 수 있습니다.

gcc이 아닌 명령을 c99으로 지정 했으므로 재귀 적으로 호출하지 않습니다. gcc으로 실제로 호출 할 수있게하려면 gcc 실행 파일의 전체 경로를 지정할 수 있습니다 (시스템에있는 파일을 찾아야합니다). 하지만 그럴 경우 추가 인수가없는 gcc없이 호출하는 것이 더 어려워집니다.

+0

자세한 내용은 많은 것을 Tharns합니다. 대답. 'c99.cmd' 메소드는 꽤 멋지게 보입니다. 배치 파일을 취소 할 수 있습니까? 어떤 이유로 든 gcc 모드 컴파일로 돌아가고 싶다면? (배치 파일에 새로운 것들) – Somjit

+0

@SomjitNag : 배치 파일을 삭제하거나 사용하지 않을 수 있습니다. –

관련 문제