2013-02-01 2 views

답변

1

나도 대답을 찾고 실망스러운 경험을했습니다.

구체적으로는 다음과 같습니다. 다음은 저에게 도움이되었습니다 (최신 우분투 5 월). -fno-reorder-functions-fno-inline을 사용해보십시오. 예를 들어, cmake에서,이 일 :

if(CMAKE_COMPILER_IS_GNUCXX) 
    add_definitions(${CMAKE_CXX_FLAGS} "-Ofast") 
    add_definitions(${CMAKE_CXX_FLAGS} "-fno-reorder-functions") 
    add_definitions(${CMAKE_CXX_FLAGS} "-fno-inline") 
endif() 

을 일반적으로 : 컴파일러 최적화 문서보고보십시오. 작동하는 최적화 수준을 찾은 다음 나열된 모든 옵션을 다음 수준에 추가하십시오. 예를 들어 이분법으로 추가하고 제거하십시오. 다시 말하지만, 같은 cmake 무언가 :

add_definitions(${CMAKE_CXX_FLAGS} "-O1") 
    add_definitions(${CMAKE_CXX_FLAGS} "-fthread-jumps") 
    add_definitions(${CMAKE_CXX_FLAGS} "-falign-functions -falign-jumps") 
    add_definitions(${CMAKE_CXX_FLAGS} "-falign-loops -falign-labels") 
    # add_definitions(${CMAKE_CXX_FLAGS} "-fcaller-saves") 
    # add_definitions(${CMAKE_CXX_FLAGS} "-fcrossjumping") 
    # add_definitions(${CMAKE_CXX_FLAGS} "-fcse-follow-jumps -fcse-skip-blocks") 
    # add_definitions(${CMAKE_CXX_FLAGS} "-fdelete-null-pointer-checks") 

물론 하나 또는 두 개의 최적화 옵션이 모든 문제를 일으키는 것일 수 있습니다.

관련 문제