lua 调用dll 库的方法。找了半天

转自: http://blog.csdn.net/bhwst/archive/2010/07/23/5756441.aspx
  1. my.c文件:  
  2.  
  3.   
  4.  
  5.   
  6.  
  7.   
  8.  
  9. #include "stdafx.h"  
  10. #include   
  11. #include "my.h"  
  12.   
  13. static int pri(lua_State *L)  
  14. {   
  15.  MessageBox(NULL,"Hello","this is a c program!",MB_OK);  
  16.  return 0;  
  17. }  
  18.   
  19. static const struct luaL_Reg mylib[]={  
  20.  {"pri",pri},  
  21.  {NULL,NULL}  
  22. };  
  23.   
  24. __declspec(dllexport) int luaopen_mylib (lua_State* L)  
  25. {  
  26.  luaL_register(L,"mylib",mylib);  
  27.  return 1;  
  28. }  
  29.   
  30.    
  31.   
  32.    
  33.   
  34. my.h文件:  
  35.  
  36.   
  37.  
  38.   
  39.  
  40. #include "lua.h"   
  41. #include "lualib.h"  
  42. #include "lauxlib.h"  
  43.  
  44. #pragma   comment(lib,"lua5.1.lib")  
  45.   
  46.    
  47.   
  48.    
  49.   
  50.    
  51.   
  52. test.lua文件:  
  53.   
  54.    
  55.   
  56. local a=package.loadlib("my.dll","luaopen_mylib");  
  57.   
  58. a() 
  59. mylib.pri()  

你可能感兴趣的:(lua)