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()
¿½±´½øÈ¥£
Ïà¹ØÎĵµ£º
ÆÕͨ±äÁ¿ÊÇÖ±½Ó´«Öµshow(int a,int b)
Ö¸Õë±äÁ¿´«µÝµØÖ·show(int *a,int *b)
ÒýÓñäÁ¿ÊÇÒþʽ´«µØÖ· 1:int x;void show(int &x)£¬Êµ¼Ê´«µÝµÄÊÇxµÄµØÖ·p£¬µ«ÊǺ¯ÊýÄÚ²¿Ê¹ÓÃxʱ»á×Ô¶¯±ä³É*p
  ......
¶ÔÓÚÔÓïÀàÐ͵ÄÊý×飬Èçint[] a,ÔÚCÀïÃæÖ»ÒªÕâÑù¶¨ÒåÖ®ºó¾Í¿ÉÒÔÓÃa[i]ʹÓÃÁË£¬µ«ÊÇÔÚJAVAÀïÃæÊDz»Ðе쬱ØÐëÓÃint[] a = new int[LENGTH];À´ÎªÊý×é·ÖÅä¿Õ¼ä¡£ÕâÀïµÄa¸üÓ¦¸Ã¿´³ÉCÀïÃæµÄÖ¸Õ룬ËüºÍCÀïÃæµÄint* aÊÇÒ»ÑùµÄ£¬ÒòΪÕâ¸öa£¨CÀïÃæµÄ£©Ò²ÒªÏÈmallocÒ»¸ö¿Õ¼äÖ®ºó²Å¿ ......
UTF-8×î´óµÄÒ»¸öÌØµã£¬¾ÍÊÇËüÊÇÒ»Öֱ䳤µÄ±àÂ뷽ʽ¡£Ëü¿ÉÒÔʹÓÃ1~4¸ö×Ö½Ú±íʾһ¸ö·ûºÅ£¬¸ù¾Ý²»Í¬µÄ·ûºÅ¶ø±ä»¯×Ö½Ú³¤¶È¡£
UTF-8µÄ±àÂë¹æÔòºÜ¼òµ¥£¬Ö»ÓжþÌõ£º
1£©¶ÔÓÚµ¥×ֽڵķûºÅ£¬×ֽڵĵÚһλÉèΪ0£¬ºóÃæ7λΪÕâ¸ö·ûºÅµÄunicodeÂë¡£Òò´Ë¶ÔÓÚÓ¢Óï×Öĸ£¬UTF-8±àÂëºÍASCIIÂëÊÇÏàͬµÄ¡£
2£©¶ÔÓÚn×ֽڵķûºÅ£¨n>1£©£¬µÚÒ ......
9Ô¶¼¿ì½áÊøÁË£¬Ö®Ç°Ò»Ö±Ã¦µ½Ð´×Ô¼ºµÄ¶«Î÷¼ÓÉÏÉϰࡣ»ù±¾Ã»ÓÐʱ¼äÑо¿Ï»ã±àºÍC C++·½ÃæµÄ¸ÐÐËȤµÄ¶«Î÷¡£ÔÙÔõô˵Â9Ô»¹ÊǵÃдһƪÈö£¬ÒÔºóÿÔÂÖÁÉÙһƪ°É¡£¸ø×Ô¼º¶¨ÁË£¬Ï£Íû´ó¼Ò¼à¶½¡£ºÙºÙ£¡
ÕâÆªÎÄÕ¾ÍÀ´Ì¸Ì¸Æ½³£ºÜ³£¼ûµÄHOOK¼¼Êõ£¬ÕâÀïÄØ¡£Ð´µÃ±È½Ï¼òµ¥£¬·½·¨ºÜ¶à¡£Ö»½²ÔÀí£¡Ï£Íû´óÄñÃDZðÍÂÎÒ¿ÚË®¹þ - -¡£ºÃ£¡ÇÐÈëÕ ......
½ñÌì×°ºÃÁËmonodevelop£¬±¾À´ÊÇÏëÓÃÀ´C#µÄ£¬¼ûËûÒ²Ö§³ÖC/C++¿ª·¢£¬ÓÚÊÇÊÔÁËһϣ¬¸Ð¾õºÜ²»´í£¬ÖÕÓÚÕÒµ½ÁËlinuxÏÂÒ»¸ö±È½ÏÂúÒâµÄC++¿ª·¢»·¾³¡£
ÒÔǰдC++¶¼ÊÇÔÚEclipseÏÂдµÄ£¬µ«EclipseÆô¶¯Âý£¬ÅäÖÃÂé·³£¬ºÍjavaÒ»ÆðÓõÄʱºòºÜÈÝÒ׳ö´í£¬Óõĺܲ»Ë¬£¬µ±È»¸ ......