함수 실행 도중에 현재 스택에 대한 포인터를 설정 한 다음 (호출 스택을 풀지 않고) 현재 스레드를 해제하고 스레드 풀로 되돌릴 수 있습니까? ? 그런 다음 다른 스레드가 그 스레드가 중단 된 곳을 선택합니까? 누군가가 함수를 호출하면 현재 스레드 컨텍스트가 변경되었음을 알지 못한다는 것을 알 수 있으며, 이와 같은 일을하기 위해 사용자 정의 일리노이 코드
런타임에 특정 클래스에 일부 비헤이비어를 추가하려고합니다. 나는 Reflection.Emit를 사용하여 런타임에 하위 클래스를 만드는 방법을 알고 있지만 충분하지 않다. 일부 외부 구성에 따라 유형 T의 메소드에 opcode를 삽입해야하므로이 클래스에서 상속받은 모든 클래스가 자동으로이 동작을 얻는다. .NET 프로파일 링 API) Mono.Cecil을 사
임의의 IL에서 CFG를 만들고 그 CFG를 다시 IL로 변환하려고합니다. 물론 CFG의 꼭짓점 순서는 원래 일리노이 지침의 순서와 동일하지 않습니다. 괜찮 으면 좋겠지 만 지나치게 복잡합니다. > (이동 C가) - -> (창) 이것은 물론 간단한 예이지만 아웃으로 변환 할 때의 문제점을 나타내는 (B 점프) Jump 'B'
'C': Return
'B'
나는 일종의 일리노이 주인이 아니다. 나는 가끔씩 컴파일러가 작성한 코드를 확인하기 위해 그것을 사용한다. 내가 궁금해했던 한 가지는 왜 .maxstack이 때때로 얻는 가치를 얻는가하는 것입니다. 다음 클래스 고려 : 다음 public class Sample
{
public void SomeMethod(){}
}
을, 나는 프로그램과 같이
응용 프로그램을 만들려고하면 IL에서 속성을 수정하여 약간 다른 실행 파일을 만들 수 있습니다. 예를 들어 클라이언트 A는 앱을 실행하고 WinForm 라벨의 라벨은 "클라이언트 A :"를 읽습니다. 클라이언트 B가 앱을 실행하고 라벨에 '클라이언트 B'가 표시됩니다. 쉽게 설정 파일이나 리소스 파일을 사용하지만,이 프로젝트에 대한 옵션을 안다. 주 프로그