2011-07-01 2 views
3

인텔 컴파일러를 사용하여 컴파일 할 때 실행 파일에 포함 된 심볼에서 알 수있는 것은 비교적 간단합니다. 실행 파일에서 __intel_proc_init와 같은 기호가있는 경우.바이너리를 컴파일하는 데 사용 된 인텔 컴파일러의 버전을 알려주는 방법

유사한 진단 도구를 사용하여 바이너리를 컴파일하는 데 사용 된 인텔 컴파일러의 버전을 알 수있는 방법이 있습니까?

+2

어딘가에서 버전 태그의 흔적이 있는지'objdump'로 둘러 보았습니까? –

+0

내가 찾은 유일한 것은 intel_id.71.0.0.0이라는 심볼이지만 그게 무슨 뜻인지는 분명하지 않습니다. –

답변

0

다음 Fortran 소스 코드는 런타임에 인텔 컴파일러 버전을 출력합니다. 다른 언어로 분명히 비슷한 코드 .... 당신의 필요를 충족시킬 것입니까? 그렇지 않으면 실행 파일의 심볼에 단서를 줄 수 있습니다.

#ifdef __INTEL_COMPILER 
     write (*, 1050) __INTEL_COMPILER 
     1050 format ("Fortran code compiled with Intel ifort, version ", I0 /) 
#endif 
+0

고마워,하지만 내 원래 질문은 경우에만 최종 컴파일 된 실행 파일 및 소스가 관련된 경우에 관한. –

1

PEID는 MSVC 바이너리에 대해이 작업을 수행 할 수 있습니다, 그래서 당신은 그럼 당신은 그들이 검사 어떤 업체에서 찾을 필요가 원하는 경우, 그것을 확인하고 인텔에 대한 작동하는지 확인 할 수 있습니다 PE/obj 덤프 (iirc의 일부 정보는 PE에 일반 텍스트로되어 있음)

+0

사용할 Windows 플랫폼이 없으므로이 방법을 시도 할 수 없습니다. PEID에 대해 알려 주셔서 감사합니다. –

2

그래서 나는 내 자신의 질문에 대한 부분적인 대답을 찾은 것 같습니다.

(#) 인텔 포트란 RTL 메시지 카탈로그 V10.1-101 01 8 월 2007

@에서 : 문자열 유틸리티를 사용하여, 나는 포트란 실행 파일에서 다음 문자열을 추출 할 수 있었다

(#) 인텔 포트란 RTL 메시지 카탈로그 V11.1-107 @ /opt/intel/Compiler/11.1/073/bin/intel64/ifort

: 다른 포트란 실행, 나는 다음과 같은 문자열을 발견 2010 년 3 월 16 일

그러나 C 컴파일 된 실행 파일에서 그런 문자열을 추출 할 수 없었습니다.

관련 문제