Luaµ÷ÓÃCº¯Êý
¸ù¾Ý¡¶programming in lua¡·µÚ26ÕµÄÄÚÈÝ£¬ÎÒ×ö³öÀ´µÄÈçÏ£º
1.
Ê×ÏÈ£¬ÎÒµÄLuaĿ¼Ϊ£ºD:\lua5.1\
»·¾³Îª windows ; VC++express edition 2008 ; Lua5.1.4 ; Notepad++
µ±È»£¬ÄãÐèÒªÔÚVC++2008ÖÐÅäÖúÃlua£º
ÕâÀïÏȲ»¶à×ö½âÊÍ£¬¼ÙÉèÄãÒѾÅäÖúÃÁË¡£
2.
ÕÒµ½ D:\lua5.1\src
Ŀ¼Ï嵀 lua.c Îļþ£¬
½«Õâ¶Î´úÂë·Åµ½ lua.c ÎļþÖУ¬Õâ¾ÍÊÇÎÒÃÇ×Ô¼º¶¨ÒåµÄCº¯Êý£º
static int linjunjie (lua_State *L) {
printf("hello junjie /n");
return 1; /* number of results */
}
ÕâÀÎÒÃÇÖ»ÊǼòµ¥´òÓ¡Ò»ÐÐÎÄ×Ö£¬Ã»ÓвÎÊý£¬Ã»Óзµ»ØÖµ¡£
È»ºó£¬ÎÒÃÇ»¹ÐèÒªÔÚ lua.c ÖÐµÄ main º¯ÊýÖÐÌí¼ÓÎÒÃǵÄ×Ô¶¨Ò庯Êý£¨Ò²¿ÉÒÔ³ÆÖ®Îª“×¢²á”£©£¬Ìí¼ÓÍêÖ®ºó£¬ÀàËÆÏÂÃæÕâÑù£¨ºìÉ«²¿·ÖΪÎÒÃÇÌí¼Ó²¿·Ö£©£º
int main (int argc, char **argv) {
int status;
struct Smain s;
lua_State *L = lua_open(); /* create state */
lua_pushcfunction(L, linjunjie);
lua_setglobal(L, "linjunjie");
if (L == NULL) {
l_message(argv[0], "cannot create state: not enough memory");
return EXIT_FAILURE;
}
s.argc = argc;
s.argv = argv;
status = lua_cpcall(L, &pmain, &s);
report(L, status);
lua_close(L);
return (status || s.status) ? EXIT_FAILURE : EXIT_SUCCESS;
}
3.
ÏÖÔÚ´úÂëÐÞ¸ÄÍê±Ï£¬ÎÒÃÇÐèÒªÖØÐ±àÒëÎÒÃÇµÄ lua £¬·½·¨Îª
½øÈëVS2008µÄÃüÁîÌáʾ£¬È»ºóÖ´ÐÐÈçϲÙ×÷£º
£¨µ½lua5.1Ŀ¼Ï£¬Ö´ÐÐetcĿ¼ÏµÄluavs.batÅú´¦Àí£¬Ëû½«ÌæÎÒÃDZàÒëlua£©
D:\lua5.1>d:\lua5.1\etc\luavs.bat
4.
¼ÙÉèµÚ3²¿Ã»ÓдíÎó£¬Ë³Àû±àÒëÍê³ÉÖ®ºó£¬ÕâʱÎÒÃǵÄ×Ô¶¨Ò庯Êý¾ÍÒѾ±»×¢²áµ½ÎÒÃÇ»úÆ÷ÖеÄluaÖÐÁË£¬ÊÔһϡ£
ÔÚVC++2008ÖУ¬½«luaÌí¼ÓΪÍⲿ¹¤¾ß¡£
È»ºóн¨Ò»¸öwin32¿ØÖÆÌ¨Ó¦ÓóÌÐò¹¤³Ì£¬Ö®ºó£¬½¨Á¢Ò»¸öÎı¾Îļþ£¬½«
linjunjie()
¿½±´½øÈ¥£
Ïà¹ØÎĵµ£º
CµÄº¯ÊýÖ¸ÕëºÜÇ¿´ó£¬ÓúÃÁ˲ÅÊÇCÓïÑԵĸßÊÖ¡£ÏñGtkÖеĻص÷º¯ÊýµÄʹÓ㬶¼ÌåÏÖÁ˺¯ÊýÖ¸ÕëµÄÇ¿´óÍþÁ¦¡£
struct Point{
int x, y;
};
/*Shape*/
/*----------------------------------------------------------------*/
struct Shape {
struct Methods* methods;
};
struct Meth ......
·ûºÅ
C- Òâ˼Êǰ´×¡ Ctrol ¼ü
M- ÒâÖ¸ Meta ¼ü (¼üÅÌÉÏÈôÎÞMeta ¼ü£¬Ôò¿ÉÒÔALT ESC ¼üÀ´È¡¶ø´úÖ®)
DEL ÒâÖ¸Í˸ñ¼ü (²»ÊÇ É¾³ý(Delete) key)
RET ÒâÖ¸»Ø³µ¼ü
SPC ÒâÖ¸¿Õ¸ñ¼ü
ESC ÒâÖ¸Escape¼ü
TAB ÒâÖ¸Tab¼ü
Ïñ "C-M-" (or "M-C") ......
9Ô¶¼¿ì½áÊøÁË£¬Ö®Ç°Ò»Ö±Ã¦µ½Ð´×Ô¼ºµÄ¶«Î÷¼ÓÉÏÉϰࡣ»ù±¾Ã»ÓÐʱ¼äÑо¿Ï»ã±àºÍC C++·½ÃæµÄ¸ÐÐËȤµÄ¶«Î÷¡£ÔÙÔõô˵Â9Ô»¹ÊǵÃдһƪÈö£¬ÒÔºóÿÔÂÖÁÉÙһƪ°É¡£¸ø×Ô¼º¶¨ÁË£¬Ï£Íû´ó¼Ò¼à¶½¡£ºÙºÙ£¡
ÕâÆªÎÄÕ¾ÍÀ´Ì¸Ì¸Æ½³£ºÜ³£¼ûµÄHOOK¼¼Êõ£¬ÕâÀïÄØ¡£Ð´µÃ±È½Ï¼òµ¥£¬·½·¨ºÜ¶à¡£Ö»½²ÔÀí£¡Ï£Íû´óÄñÃDZðÍÂÎÒ¿ÚË®¹þ - -¡£ºÃ£¡ÇÐÈëÕ ......
×Ô¼ºÐ´µÄC/C++±àÒëÆ÷Doctors[Èí¼þ+Îĵµ]
http://blog.csdn.net/huyansoft/archive/2009/08/20/4464772.aspx
¸üа汾1.0.1£º¸Ã°æ±¾½â¾öÁË֮ǰ1.0.0°æ±¾ÖÐÕÒ²»µ½Á´½Ó¿âlibc.libµÄÎÊÌ⣬ÒÔ¼°IDEϵã»÷Project²Ëµ¥³öÏÖµÄBUG¡£ÏÂÔØµØÖ·£ºhttp://download.csdn.net/source/1597132
Doctors±àÒëÆ÷ÄÚ²¿ÊµÏÖ
For version 1.0.1 ......