我的C程序中有一个静态函数,该地址被传送到C#.NET程序.地址是正确的,但可以在C#中调用此函数吗?
有一些代码:
static void test_callback()
{
printf("test_callback called\n");
}
void callCSharpFunction ()
{
HRESULT status;
BOOL Started;
DWORD result;
char ptr[5];
int p1;
Started = FALSE;
status = CorBindToRuntimeEx(
NULL,
NULL,
0,
&CLSID_CLRRuntimeHost,
&IID_ICLRRuntimeHost,
(PVOID *)&Host
);
if (FAILED(status)) {}
status = ICLRRuntimeHost_Start(Host);
if (FAILED(status)) {}
Started = TRUE;
p1 = (int)(&test_callback);
ptr[0] = 0xFF & ((int)&test_callback >> 0);
ptr[1] = 0xFF & ((int)&test_callback >> 8);
ptr[2] = 0xFF & ((int)&test_callback >> 16);
ptr[3] = 0xFF & ((int)&test_callback >> 24); …Run Code Online (Sandbox Code Playgroud)