레거시 코드를 처리하고 있습니다.EHsc와 EHa가 모두 지정되면 어떻게됩니까?
일부 버그를 수정하려면 일부 파일에 EHa를 제공해야합니다. 나는 건물 전체 프로젝트에 EHsc와 EHa를 모두 테스트했다. 이것은 내 문제를 해결하지만 컴파일러가 EH를 EH보다 우선한다는 경고를줍니다. (옵션 순서는/EHsc/EHa) 이 경고는 EHa가 필요한 파일을 빌드 할 때만 발생합니다. EH 만 필요한 소스 파일에는 표시되지 않습니다.
<name of the file that needs EHa>\cl : warning D9025 : overriding '/EHs' with '/EHa'
제 질문은이 경고가 실제로 어떤 일이 발생했는지 나타 냅니까? EHa는 실제로 EHa가 필요한 소스 파일에만 적용됩니까? (EHa가 필요없는 다른 파일은 EHsc로 구축 되었습니까?)
감사합니다.
가능한 모든 조합을 시도하지는 않습니다. 내 관심사는 EHa를 사용함으로써 발생할 수있는 성능 저하 가능성입니다. EHa가 모든 소스 파일에 적용되면, 실제로 필요한 파일에 EHa를 적용하고 EHsc로 다른 사람들을 컴파일하는 방법을 연구 할 계획입니다. 유일한 문제는 여기에 사용 된 Visual C++ 기반 빌드 시스템에 익숙하지 않다는 것입니다. – Niroshan
에 감사드립니다. 개별 파일에 대한 속성을 열고 해당 특정 파일에 대해 플래그를 다르게 설정할 수 있습니다. 그러나 가능한 성능 저하를 걱정하기 전에 실제로 벤치마킹 해 주시기 바랍니다. 조기 최적화와 그 모든 것 – jalf