2011-08-19 5 views
1

동일한 C++ 코드 조각이 동일한 버전의 Visual C++ 컴파일러로 컴파일되지만 다른 시간에 그리고 다른 컴퓨터에서 컴파일 될 때 컴파일러에서 수행 한 코드 순서 재 지정은 동일하게 유지되거나 다를 수 있습니다. 즉, 코드 재정렬에 의한 코드 최적화의 논리는 코드에만 의존하거나 다양한 다른 매개 변수에 달려 있습니까?Visual C++ 컴파일러로 코드 재 배열

두 가지 dll이 기능에 따라 동일하거나 다른지 여부를 확인하는 도구를 만들고 싶습니다.

+0

비 결정적 컴파일러? –

+0

그러나 확실하지는 않지만 소스 코드와 다른 많은 매개 변수가 컴파일러 출력에 영향을 미칠 수 있다는 점에서 비 결정적 일 수 있습니다. 마찬가지로, CPU 아키텍처 : 예. P4 대 코어 2 듀오. – sraok

답변

2

만약 내가 당신이 그들의 기능을 기반으로 DLL을 비교하기를 원한다고 가정한다면, 당신이 구현 정보를 신경 쓰지 않는다고 정정하십시오. 이 가정을 기반으로, 귀하의 도구는 함수 dll을 통해 볼 수있는 함수 서명과 클래스, 구조체 등을 볼 수 있으며 이는 동일한 DLL에 대한 컴파일러와 상관없이 항상 동일합니다.

+0

안녕하세요, 함수 서명, 클래스, 구조체 등이 dll에서 어떻게 보일 수 있는지에 대한 아이디어를 좀 주시겠습니까? – sraok

+0

그러나, 제 경우에는 함수 서명이 dll에서 모두 동일하면 둘 다 동일한 기능 또는 동일한 부작용을 갖게되므로 함수의 코드도 비교해야 할 수도 있습니다. – sraok