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 ......
(±¾ÎÄÔ´×Ôhttp://www.weste.net/2006/2-20/13432127659.html )¡¡¡¡
Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ³Ì¶È£¬ÎÒÃÇÄÜÕæÕýдºÃÒ»¸östrcpyº¯ÊýÂð£¿ÎÒÃǶ¼¾õµÃ×Ô¼ºÄÜ£¬¿ÉÊÇÎÒÃÇд³öµÄstrcpyºÜ¿ÉÄÜÖ»ÄÜÄõ½10·ÖÖÐ ......
¸´ÔÓµÄC\C++ÉùÃ÷£¬³£³öÏÖÔÚѧУµÄ¿¼¾í£¬ÃæÊÔÌâ»òÊÇÅ£ÈËÀÏÍâµÄ´úÂëÖС£
ÎÒÃÇÔÚʵ¼ÊµÄ¹¤×÷ÖУ¬Ó¦¸Ã¾¡¿ÉÄÜÉÙʹÓø´ÔÓµÄÉùÃ÷¡£¸´ÔÓµÄÉùÃ÷£¬»áÈÃÔĶÁÄú´úÂëµÄÈ˺ÜÊÇÓôÃÆ¡£
ËäÈ»²»Ê¹ÓÃÕâÖÖ¸´ÔÓµÄÉùÃ÷£¬µ«»¹ÊÇÓ¦¸Ã°Ñ½«ÈçºÎ½âÎöÕâÖÖ¸´ÔÓµÄÉùÃ÷µÄ·½·¨¼ÇÔÚÐÄÖС£
ËùÒÔ£¬ÎÒ°ÑÕâÖÖ·½·¨¼Ç¼ÏÂÀ´£¬ÒÔ±¸²»Ê±Ö®Ðè¡£
ÈëÃÅÌâ
1) Ò»¸öÕûÐ ......
¶ÔÓÚÔÓïÀàÐ͵ÄÊý×飬Èçint[] a,ÔÚCÀïÃæÖ»ÒªÕâÑù¶¨ÒåÖ®ºó¾Í¿ÉÒÔÓÃa[i]ʹÓÃÁË£¬µ«ÊÇÔÚJAVAÀïÃæÊDz»Ðе쬱ØÐëÓÃint[] a = new int[LENGTH];À´ÎªÊý×é·ÖÅä¿Õ¼ä¡£ÕâÀïµÄa¸üÓ¦¸Ã¿´³ÉCÀïÃæµÄÖ¸Õ룬ËüºÍCÀïÃæµÄint* aÊÇÒ»ÑùµÄ£¬ÒòΪÕâ¸öa£¨CÀïÃæµÄ£©Ò²ÒªÏÈmallocÒ»¸ö¿Õ¼äÖ®ºó²Å¿ ......
Ö÷Ò³£º http://www.christian-heffner.de/
ÏÂÔØÁ´½Ó£º http://www.christian-heffner.de/index.php?page=download¡´=en
¼ò½é£º
»ùÓÚLCCµÄÒ»¿îC±àÒëÆ÷£¬Óбê×¼µÄIDE½çÃæ£¬ÀàËÆVCµÄ½çÃæ£¬µ±È»ºÍDEV-C++»¹ÓÐMingW32 studio½çÃæÒ²ºÜÏñ£¬¿ÉÒÔÓÃÓÚ´´½¨Ð¡Ò»µãµÄ»ùÓÚCµÄ¹¤³Ì¡£
IDE´úÂë±à¼½ ......