/clr:pure
스위치는 순수한 MSIL을 생성하지만 검증 할 수는 없습니다. 네이티브 배열과 포인터는이 모드에서 사용할 수 있습니다. 즉, MSIL에는 네이티브 배열과 포인터를 보유하는 구조가 있습니까? 그렇다면 MSIL 원시 배열과 포인터를 어떻게 코딩 할 수 있습니까?순수 C++/CLI의 MSIL
3
A
답변
4
예, 관리되지 않는 포인터를 나타내는 CIL 유형이 있습니다. 그들은 관리 포인터 (C#의 경우 ref
과 out
, CIL의 경우 &
)와 비슷하지만 GC가이를 무시하고 포인터로 이해할 수있는 산술 연산을 수행 할 수 있습니다.
흥미롭게도 포인터 유형에는 대상 유형에 대한 정보가 포함되어 있으므로 (예 : int32*
) 모든 산술 연산은 바이트 기반입니다. 일례로서
ref class
내부 때
void Bar(int *a)
{
a[5] = 15;
}
는 다음 CIL을 생산 :
.method private hidebysig instance void Bar(int32* a) cil managed
{
.maxstack 2
L_0000: ldarg.1 // load the value of a pointer to the stack
L_0001: ldc.i4.s 20 // load the number 20 (= 4 * 5) to the stack
L_0003: add // add 20 to the pointer
L_0004: ldc.i4.s 15 // load the number 15 to the stack
L_0006: stind.i4 // store the value of 15 at the computed address
L_0007: ret // return from the method
}
+0
@ildjarn으로 살펴 보았습니다.'language-all'에 대해서는 몰랐습니다. 이런 식으로 저에게 가르쳐 주셔서 감사합니다. – svick
관련 문제
- 1. 은/MSIL
- 2. MSIL 조사
- 3. MSIL 코드로 컴파일하는 C#
- 4. 상수를로드하는 MSIL 명령어
- 5. IDE for MSIL
- 6. vtable 및 MSIL
- 7. 분석 MSIL 코드는 C#
- 8. 순수 모드가있는 C++/CLI?
- 9. MSIL 코드로 파일을 작성하는 방법
- 10. Visual Studio 내에서 MSIL 실행
- 11. String Builder in CIL (MSIL)
- 12. MSIL 디버거 - Mdbg, Dbgclr, Cordbg
- 13. 콘솔 앱을 MSIL 코드로 컴파일
- 14. MSIL 코드의 가변 범위/재사용
- 15. 순수 함수가 순수 평균을 반환하는 이유는 무엇입니까?
- 16. 순수 세분화
- 17. MSIL 재산권 세터 - 값 필드에 액세스
- 18. 인스턴스 메서드의 CIL (MSIL) tailcall 재귀
- 19. CIL (MSIL) 학습을위한 최상의 리소스는 무엇입니까
- 20. 하드웨어에 MSIL/CLR을 제공하는 공급 업체가 있습니까?
- 21. dll/exe에서 MSIL 파일을 만드는 방법
- 22. 순수 NetBeans가 작동하지 않습니다
- 23. strstr의 순수 바이트 버전입니까?
- 24. 순수 CSS는 호버
- 25. 순수 루아 파일 브라우저
- 26. numCapabilities가 왜 순수 함수입니까?
- 27. 순수 함수 프로그래밍 D
- 28. 순수 파이썬의 웹 세션
- 29. 순수 가상 함수가
- 30. 순수 HTML 업 로더
은 다음을 사용할 수있다 [ Reflector] (http://www.reflector.net/)에서 생성 된 어셈블리를 디 컴파일합니다. –
C 또는 C++로 코드를 작성하면 특별한 것은 필요 없습니다. 모든 표준 준수 C89 또는 C++ 03 코드는 MSIL로 변환 할 수 있습니다. ildasm.exe –