링크 타임 코드 생성에서 제가 특별히 의문이 드는 부분은 다른 모듈에 있는 함수의 인라인화 입니다.
obj파일 생성->링크, 이때 LTCG를 적용하면 링크할때 단순히 심볼을 검색해서 실제 위치를 가져오는 것이 아니라 해당 소스파일을 갖고와서 인라인 한다는 얘긴데,
그럼 이때 다시 obj파일을 바꾸나요? 그다음에 다시 LTCG가 없는듯이 일반적인 링킹?
아니면 obj파일을 바꾸지 않고 그냥 그대로 합쳐서 exe나 dll을 생성할까요?
제 생각에는 vs2010에서 소스 파일마다 각각 /GL(전체 프로그램 최적화, LTCG와 같이 적용되야만 하죠)를 설정할 수 있는 걸로 봐서 obj파일 각각을 다시 바꾸는게 맞는 것 같습니다.
문제는 여기서 부턴데요,
msdn에 보면 obj파일과 다름없는 lib파일에 전체 프로그램 최적화를 하면 위험할 수 있다고 되어있습니다(호환이 안될 수 잇다고 되있더군요).
그런데 /GL이 obj 파일 하나하나에 해당하는 내용이라면 obj 파일이 생성된 시점에서 obj 파일은 그 자체로 완성된 것 아닌가요?