2012-02-23 4 views
0

llvm에 대한 doxygen 참조 설명서에서 Module 개체 또는 실행 엔진으로 대상 데이터 인스턴스를 만들 수 있습니다.네이티브 대상 데이터

현재/네이티브 플랫폼에 대한 대상 데이터를 얻으려면 어떻게해야합니까?

답변

0

음 ... 일반적으로 TargetData에 추가 할 정보는 플랫폼 ABI 문서에서 추출 할 수 있습니다. 이것은 모든 자연적인 크기, 정렬 등이 지정된 곳입니다. 때로는 플랫폼에 맞는 컴파일러가 있으면 모든 항목을 컴파일러와 일치 시키려고 할 수 있습니다.

필자는 후자의 경우 TargetData 정보를 생성하는 바이너리를 작성할 수는 있지만 iirc 전에 아무 것도하지 않았다고 믿습니다.

+0

당신이 설명하는 것처럼 들리는 것은 플랫폼 별 솔루션입니다. 나는 그것이 모든 플랫폼으로 이식 할 수있는 것을 원한다. 빈 문자열을 사용하여 TargetData 생성자를 호출하면 작동하는 것으로 나타났습니다. 누구나 이것이 옳은지 확인할 수 있습니까? – srossross

+0

@sean, 비어있는/아니 TargetData 확실히 작동하지만, 그것은 많은 중요한 최적화를 억제합니다. 또한 이진 코드를 생성하려면 TargetData가 비어 있어야합니다. 백엔드가이 문제를 "수정"합니다 :) –

관련 문제