나는 C와 인터페이스 할 수 있기를 원하는 가상 머신에서 일하고있다. 다른 방법으로 가상 머신 기능을 C 코드에 노출시키는 것은 매우 쉽다. 내 머리를 감쌀 수없는 것은 C를 노출시키는 것이다. 기능을 가상 컴퓨터에 제공합니다.C 함수를 사용자 지정 가상 컴퓨터에 표시하려면 어떻게합니까?
내가 동적과 같이 가상 머신과 C 함수를 등록 할 수 있도록하고 싶습니다 :
vm_register(printf);
그런 다음 내 가상 머신에서, 스택에 인수를 밀어 :
call printf
문제는 함수에 필요한 인수의 수와 유형을 알지 못해도 함수 포인터를 사용할 수 있는지 잘 모르겠다는 것입니다.
이 상황에서 사용할 수있는 제네릭 함수 포인터 유형이 있습니까? 누군가 나를 올바른 방향으로 인도 할 수 있습니까?
맞춤 V.M. 흥미로운 아이디어. 함수를 노출함으로써, 당신은 D.L.L을 호출하는 것을 의미합니다./공유 객체/공유 라이브러리 함수 또는 "* .h"라이브러리에서? – umlcat