gcc 또는 clang을 사용하여 컴파일을 위해 -g 옵션을 사용했습니다. 그렇다면 전체 바이너리 컴파일 과정에서 최종 바이너리가 -g 옵션을 사용하지 않은 경우와 성능면에서 동등한가요?링크 시간에 -g를 사용하지 않으면 어떻게됩니까?
1
A
답변
0
디버깅 정보가있는 바이너리의 성능이 바이너리와 다른 경우 일반적으로 컴파일러 버그로 간주됩니다. 그렇습니다. 동일한 성능을 기대해야합니다.
0
-g
은 컴파일 단계에서 디버깅 정보를 생성합니다. 그것은 링커에 의해 완전히 무시됩니다. 따라서 여러분이하고있는 것은 -g
을 사용하여 한 단계로 컴파일하고 링크하는 것과 같습니다.
관련 문제
- 1. SVN을 사용하지 않으면 어떻게됩니까?
- 2. malloc'ed 블록을 사용하지 않으면 어떻게됩니까?
- 3. Socket.EndConnect를 호출하지 않으면 어떻게됩니까?
- 4. printf가 처리되지 않으면 어떻게됩니까?
- 5. CSS- 절대 위치 지정 및 Z- 색인을 사용하지 않으면 어떻게됩니까?
- 6. session_start()를 호출하지 않으면 어떻게됩니까?
- 7. , 내가 아무것도 반환하지 않으면 어떻게됩니까?
- 8. DirectX 이미지를 공개하지 않으면 어떻게됩니까?
- 9. 오디오 중단을 처리하지 않으면 어떻게됩니까?
- 10. MySQL 데이터베이스가 닫히지 않으면 어떻게됩니까?
- 11. MySQL 연결이 닫히지 않으면 어떻게됩니까?
- 12. GetBuffer 후에 ReleaseBuffer를 호출하지 않으면 어떻게됩니까?
- 13. 열린 키에서 RegCloseKey를 호출하지 않으면 어떻게됩니까?
- 14. "data-"로 데이터 속성을 시작하지 않으면 어떻게됩니까?
- 15. oracle에서 sys_refcursor를 명시 적으로 닫지 않으면 어떻게됩니까?
- 16. DB를 변경하지 않고 TClientDataSet을 업데이트하지 않으면 어떻게됩니까?
- 17. WCF : 채널이 설정되었지만 메서드가 호출되지 않으면 어떻게됩니까?
- 18. .NET Framework가 설치되어 있지 않으면 어떻게됩니까?
- 19. 파생 생성자에서 기본 생성자를 호출하지 않으면 어떻게됩니까?
- 20. 클래식 ASP에서 레코드 세트를 닫지 않으면 어떻게됩니까?
- 21. requestLocationUpdates()에서 시간과 거리를 정의하지 않으면 어떻게됩니까?
- 22. SQL Server 2000에서 SQL 커서로부터 메모리를 할당 해제하지 않으면 어떻게됩니까?
- 23. 변수를 사용하지 않으면 왜 1/10이 0입니까?
- 24. 몇 분 동안 사용하지 않으면 서비스가 중지됩니다
- 25. 쿠키를 사용하지 않으면 안심할 수 있습니까?
- 26. 메서드가 객체의 필드를 사용하지 않으면 스레드로부터 안전합니까?
- 27. PrototypeJ를 사용하지 않으면 Comet을 구현할 수 있습니까?
- 28. SSRS - 사용하지 않으면 프로세스가 중지되거나 잠자기 상태가됩니다.
- 29. 비디오 또는 오디오를 사용하지 않으면 HTML5가 변경됩니까?
- 30. 링크 시간에 다른 라이브러리/함수 제공
-g를 사용하면 성능에 큰 차이가 없다는 것을 알았습니다 ... 결과 바이너리가 디버거를 단계별로 처리하는 것이 어려울지라도 사실 -g 및 -O를 사용할 수도 있습니다. – user168715