Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

luaºÍC½»»¥¿ò¼Ü

1¡¢´íÎó(err_return)µÄºê¶¨Òå
#define err_return(num,fmt,args)  \
    do
    {
        printf("[%s:%d]"fmt"\n",__FILE__,__LINE__,##args);return(num);
    } while(0)
-1  ÊÇreturnµÄ·µ»ØÖµ£¬±íʾÓдíÎó£»
fmt ÊÇÒ»¸ö×Ö·û´®£¬ÓÃÓÚ´òÓ¡´íÎóÐÅÏ¢£»
args±íʾ²ÎÊýµÄ¸öÊý£»--Õâ¸öÓÐÒÉÎÊ£¬__FILE__,__LINE__,##args ÊÇʲôÒâ˼£¿
ÁíÍ⣺ while(0)ÊÇʲôÒâ˼£¬Ê²Ã´Ìõ¼þÏ¿ÉÒÔÍ˳ö£¿
¾ßÌåµ÷ÓÃʵÀý£ºerr_return(-1,"luaL_newstat() failed",1);
²¹³ä½âÊÍ£º
//__FILE__    ½øÐбàÒëµÄÔ´ÎļþÃû
//__LINE__    Îļþµ±Ç°ÓеÄÐкÅ(×¢Òâ:ÊÇ"µ±Ç°")
//__DATE__    Îļþ±»±àÒëµÄÈÕÆÚ
//__TIME__    Îļþ±»±àÒëµÄʱ¼ä
##ÊÇ×Ö·ûÆ´½Ó
ÏñÕâÑù
¡¡¡¡ÔÚ#defineÖУ¬±ê×¼Ö»¶¨ÒåÁË#ºÍ##Á½ÖÖ²Ù×÷¡£#ÓÃÀ´°Ñ²ÎÊýת»»³É×Ö·û´®£¬##ÔòÓÃÀ´Á¬½ÓÁ½¸öǰºóÁ½¸ö²ÎÊý£¬°ÑËüÃDZä³ÉÒ»¸ö×Ö·û´®¡£ eg.ab##cd ¾ÍÊÇabcd, m##1 ¾ÍÊÇm1;
ÁíÍ⣺ while(0)ÊÇʲôÒâ˼£¬Ê²Ã´Ìõ¼þÏ¿ÉÒÔÍ˳ö£¿
Ö±½ÓÍ˳ö£¬0Ϊfalse
0ÊÇfalseËùÒÔÖ»Ö´ÐÐÒ»´Îdo¾ÍÍ˳öÁË
while()Ñ­»·½øÈëµÄÌõ¼þÊÇ£¬Ìõ¼þΪTRUE£¬ÒòΪ0ÊÇFALSE£¬ËùÒÔÑ­»·Ò»´Î¾ÍÍ˳ö£»
do~while() Ñ­»·Ö´ÐÐÒ»´ÎdoÀïÃæµÄÄÚÈÝÈ»ºóÍ˳ö£¬Èç¹ûÖ±½ÓÊÇwhile()Ñ­»·£¬Ôò²»»á½øÈëÑ­»·Ì壻
2¡¢ÔÚluaÖе÷ÓÃCº¯Êý£º
£¨1£©CÖÐдºÃluaÒªµ÷Óõĺ¯Êý
//luaÖÐÒªµ÷ÓõÄcº¯Êý¶¨Òå,ʵÏÖ¼Ó·¨
int csum(lua_State* l)    //¶¨Ò庯Êý£¬º¯Êý²ÎÊýÊÇlua_State* l£¬ÕâÒ²ÊÇÿ¸öluaÒªµ÷ÓõÄCº¯ÊýµÄд·¨£»
{
    int a = lua_tointeger(l,1) ;  //lua_tointeger()»ñµÃÕûÐÍ·µ»ØÖµ£¬Ò»°ãÊǰÑlua´«½øÈ¥µÄÊýÖµ£¨²ÎÊý»òÕßÈ«¾Ö±äÁ¿£©×ª»»³ÉÕûÐΣ»
    int b = lua_tointeger(l,2) ;  //ÕâÀïÊÇÖ¸µÚ¶þ¸ö²ÎÊý£¬±»×ª»¯³ÉÕûÐΣ»
    lua_pushinteger(l,a+b) ;      //lua_pushinteger()ÕâÀïÊǰѷµ»ØÖµ£¨a+b£©Ñ¹ÈëÕ»
    return 1 ;                    //·µ»ØÖµµÄÊýÁ¿£»
}
¿É¼û£¬luaµ÷ÓÃCº¯Êý£¬Ê×ÏÈÊÇҪдºÃCÖеĺ¯ÊýµÄ£¬Ê×ÏȰѺ¯Êý²ÎÊýת»¯³ÉÏëÒªµÄÀàÐÍ£¬È»ºó°Ñ·µ»ØÖµ±í´ïʽѹ


Ïà¹ØÎĵµ£º

CµÄ¶¯Ì¬ÄÚ´æ¹ÜÀí mallac()ºÍfree()

      ¹ØÓÚcµÄ¶¯Ì¬ÄÚ´æ¹ÜÀíÒ»Ö±ÊǸö¾­¾Ã²»Ë¥µÄ»°Ìâ,ÃæÊÔÒ²ÊÇ»ù±¾É϶¼»á¿¼µÄ,±¾À´¸Ð¾õÒѾ­Ã÷°×ÁË,µ«ÊǽñÌìʹÓõÄʱºòÒ»²»Ð¡Ðĵ¼Ö³ÌÐò±ÀÀ£ÁË,Òò´ËÉîÈëµÄÈ¥²éÁËÏÂ×ÊÁÏ,ÊÕ»ñ²»ÉÙ...Ìù³öÀ´Óë´ó¼Ò·ÖÏí...
     ÏÈÌù¸ö´íÎó´úÂë:
     int * ptr = (int *)mal ......

extern "C"

extern "C"



¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбí ......

ʵÀý½âÎölinuxÄÚºËI2CÌåϵ½á¹¹

Ò»¡¢¸ÅÊö
̸µ½ÔÚlinuxϵͳϱàдI2CÇý¶¯£¬Ä¿Ç°Ö÷ÒªÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊǰÑI2CÉ豸µ±×÷Ò»¸öÆÕͨµÄ×Ö·ûÉ豸À´´¦Àí£¬ÁíÒ»ÖÖÊÇÀûÓÃlinux I2CÇý¶¯Ìåϵ½á¹¹À´Íê³É¡£ÏÂÃæ±È½ÏÏÂÕâÁ½ÖÖÇý¶¯¡£
µÚÒ»ÖÖ·½·¨µÄºÃ´¦£¨¶ÔÓ¦µÚ¶þÖÖ·½·¨µÄÁÓÊÆ£©ÓУº
        ¡ñ    ˼·±È½ÏÖ±½Ó£¬²»ÐèÒª ......

The meaning of the c in calloc

The meaning of the c in calloc was vividly discussed in comp.lang.c in October 2000 (see here), with both clear (because, unlike malloc, calloc clears the memory it returns) and count (because, unlike malloc, calloc is passed a count of elements to allocate) suggested as possible explanations, howev ......

dz̸CÓëC++µÄÉè¼ÆÓë±à³Ì·ç¸ñ£¨Ò»£©

Ò»Ö±ÏëдһЩ±È½ÏCºÍC++Éè¼ÆÓë±à³Ì·ç¸ñµÄÎÄ×Ö£¬ÕýºÃ½üÀ´¹¤×÷ÈÎÎñ²»¶à£¬Äܹ»ÓÐʱ¼äÖØÐÂÕûÀíÒ»ÏÂ×Ô¼ºËùѧµÄ¶«¶«£¬ÓÚÊDZã¾ö¶¨¿ªÊ¼Ð´Õâ¸öÌâÄ¿£¬¶øÄ¿µÄ½ö½öÖ»ÊÇ´òËãÄܾÍÕâ¸ö»°ÌâºÍ´ó¼ÒÌÖÂÛÌÖÂÛ£¬Å×שÒýÓñ¡¢Ôö³¤¸öÈ˵ļûʶ¡£
Ê×ÏÈÏë˵Ã÷һϣ¬¸öÈËÊÇC++Éè¼Æ¡¢±à³Ì·ç¸ñµÄ¼á¶¨Óµ»¤Õߣ¬ËùÒÔÎҵĹ۵ãÄÑÃâ´øÓиöÈËµÄÆ«ºÃ£¬Èç¹ûÄú²»ÔÞÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ