19 lines
		
	
	
		
			534 B
		
	
	
	
		
			C
		
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			534 B
		
	
	
	
		
			C
		
	
	
	
| 
								 | 
							
								#pragma once
							 | 
						|||
| 
								 | 
							
								#include <dlfcn.h>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								typedef struct lua_State lua_State;
							 | 
						|||
| 
								 | 
							
								typedef void (*dp2_game_script_t)(void(*ufptr)(lua_State* L, void*), void* udptr);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 进入dp的锁, 触发回调, 同时获得lua指针
							 | 
						|||
| 
								 | 
							
								static int dp2_game_script(void(*ufptr)(lua_State* L, void*), void* udptr) {
							 | 
						|||
| 
								 | 
							
								    void* fn = dlsym(RTLD_DEFAULT, "__dp2_game_script");
							 | 
						|||
| 
								 | 
							
								    if (!fn) {
							 | 
						|||
| 
								 | 
							
								        return 1;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    dp2_game_script_t func = (dp2_game_script_t)fn;
							 | 
						|||
| 
								 | 
							
								    printf("\n函数\n");
							 | 
						|||
| 
								 | 
							
								    func(ufptr, udptr);
							 | 
						|||
| 
								 | 
							
								    printf("\n调用成功\n");
							 | 
						|||
| 
								 | 
							
								    return 0;
							 | 
						|||
| 
								 | 
							
								}
							 |