C# 코드에서 어셈블리 코드를 생성 할 수있는 방법이 있습니까? C 코드로 GAS를 사용할 수 있다는 것을 알고 있지만 C#으로 가능한지 아무도 모른다.C# 코드에서 어셈블리 코드 생성 중?
4
A
답변
2
C#은 일반적으로 프로그램이 실제로 실행될 때 네이티브 코드로 컴파일 된 .NET 바이트 코드 (CIL or MSIL)로 컴파일 된 다음 JIT ("Just In Time")으로 컴파일됩니다. C# 용 컴파일러는 미리 Mono's AOT과 같이 존재하므로, 그 중 하나를 통해 C# 프로그램을 컴파일 한 다음 해체 할 수 있습니다. 그 결과는 따르기가 매우 어려울 수 있습니다.
더 많은 경우에 컴파일 된 .exe
의 C# 프로그램에서 ILdasm을 사용하여 수행 할 수있는 CPU 어셈블리 코드보다 다소 높은 바이트 코드를 확인하는 것이 좋습니다.
2
C# 코드는 C 컴파일러에서 실제로 asm 코드가 아닌 MSIL (MS Intermediate Language)로 컴파일됩니다. .NET Framework 응용 프로그램 실행 방법에 대해 자세히 알아보십시오.
발생 된 일리노이 코드를 보려면 this question을 참조하십시오.
2
나는 당신이 무엇을 요구하고 있는지 분명하지 않습니다. C#을 어셈블리로 컴파일 하시겠습니까? 아니면 어셈블리를 출력하는 C# 프로그램을 작성 하시겠습니까? – perelman
어셈블리에서 C# 코드가 어떻게 보이는지보고 싶습니다. 교육 목적으로. 지금 어셈블리 수업을 듣고 있습니다. – dsta