2014-02-22 1 views
1

내 프로그램에 C++ 11 표준 및 O3 최적화를 사용하고 싶습니다. 일반적으로 컴파일 플래그를 사용하는 것입니다 : -std=c++11-O3,하지만 자동으로 컴파일되는 원격 서버에 sourcefile을 보내야합니다. 그래서 기본적으로 내 마음에 오는 유일한 것은 깔끔한 매크로를 사용하는 것입니다. 나는 어딘가에서 그것을 보았 기 때문에 최적화를 정의 할 수 있다고 확신하지만, 어떻게 생겼는지 아직도 기억할 수 없다.매크로를 통해 컴파일 플래그 (C++ 11 및 최적화) 정의

+1

당신이 다루는 문제는 기술적 인 문제가 아니라 사회적 문제입니다. 원격 서버 관리자가 명령 줄 옵션을 지정할 수 없도록하려면 명령 줄 옵션을 지정하면 안됩니다. 원격 서버 관리자가 명령 줄 옵션을 지정할 수있게하려는 경우 두 인터페이스 모두 잘 작동하는 인터페이스를 지정할 수 있습니다. – hvd

+0

나는 서버 관리자와 이야기를 나눴는데 그는 명령 행 옵션을 변경할 수 없다고 말했다.하지만 매크로를 통해 어떻게 든 강제 할 수 있다면 괜찮을 것이다. – user3340553

+1

@ user3340553이 시점에서 우리는 서비스에 대한 더 많은 정보를 제공해 줄 수 있다면 도움이 될 것이라고 생각합니다. 이 부분이 "고장 났음"으로 표시되기 때문에 대체품을 제안 할 수 있습니다. 그리고 다시, 더 많이 알지 못하면서, 우리는 말할 수 없습니다. 어쩌면 이것은 콘테스트를위한 것이고 규칙은 (임의로) 컴파일러 설정을 제한합니까? –

답변

3

당신이 요구하는 것은 C++ 사양 밖에 있습니다.

그래서 어디에서나 지원된다면 pragma를 통해 지원 될 것입니다. 나는 "C++ 11로 컴파일하라"고 말하는 어떤 pragma도 모른다. 그래서 나는 그 것을 잃어버린 원인이라고 부를 것이다. 의 #pragma를 사용하는 사양의 외부 전적으로 것을

http://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas.html

을하지만 명심 :이 밖에 일부 최적화 프라그 마를 것 같다 않습니다. 컴파일러가 하나를 치면 컴파일러는 좋아하는 것이 든 여전히 표준이 될 수 있습니다. 즉 실행 비디오 게임 (and this has been done)

너무 오래 짧은 이야기를 포함한다 : 이것은 당신에 대한 요구 사항 인 경우에, 당신이 당신이 당신의 프로그램에 대한 특정 컴파일러 설정이 필요하여 컴파일 서비스를 제공 누구든지 알 필요가있다.

+0

질문에 g ++가 명확하게 지정되었습니다. –

+0

그리고 더 중요한 것은 (이전에 직장에서 알았 듯이) -Wpragmas + -Werror가 오류. –

+0

@KonradRudolph 태그 (항상 슈퍼 명시 적으로 표시되는 것은 아닙니다)에서 요점은 ...입니까? gcc에서 "C++ 11로 컴파일"pragma를 알면, 대답에서 새로운 것을 배웠습니다. – HostileFork