Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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Öеĺ¯ÊýµÄ£¬Ê×ÏȰѺ¯Êý²ÎÊýת»¯³ÉÏëÒªµÄÀàÐÍ£¬È»ºó°Ñ·µ»ØÖµ±í´ïʽѹ


Ïà¹ØÎĵµ£º

extern "C"

extern "C"



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

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

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

¡¾C/C++¡¿ÍƼöµÄC++Êé¼®ÒÔ¼°ÔĶÁ˳Ðò


µ±¶ÁÕßÓÐÒ»¶¨c/c++»ù´¡
ÍÆ¼öµÄÔĶÁ˳Ðò:
level 1
´Ó<<essential c++>>¿ªÊ¼£¬¶ÌС¾«º·£¬¿ÉÒÔ¶Ôc++ÄܽøÒ»²½Á˽âÆäÌØÐÔ
ÒÔ<<c++ primer>>×÷×ÖµäºÍ¿ÎÍâ¶ÁÎÒòΪ̫ºñ²»¿ÉÄÜÒ»¿ÚÆø¿´Íê
level 2
È»ºó´Ó<<effective c++>>¿ªÊ¼×ªÖ°£¬ÕâÊÇÊ¥¾­£¬Çë×ñÊØ10½ë£¬Òª¾­³£¿´£¬Ã»Ê¾ÍÄÃÀ´·­·­ ......

CС³ÌÐò£¨Ôöɾ¸Ä²éÈ«ÃæÁ·Ï°£©

1.ÅÅÐòС³ÌÐò£ºÁ·Ï°ÅÅÐò»ù±¾Ëã·¨ºÍº¯ÊýµÄÓ¦Ó㬲¢Ìåζº¯ÊýÓ÷¨µÄºÃ´¦¡£
 #include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define DATA 10
int ArrGrounp[ DATA ];
int ArrGrounp1[DATA];
#define DEFINE1 "ÇëÊäÈë10¸öÊý£º\n"
#define DEFINE2 "Âú×ãÌõ¼þµÄÊýÓУº"
#define DEFINE3 "\nÂú×ãÌõ¼þ ......

ÿÈÕC(4.×Ö·û´®×ª»»Æª)

×Ö·û´®×ª»»Æª
atof
atoi
atol
gcvt
strtod
strtol
strtoul
toascii
tolower
toupper
atof£¨½«×Ö·û´®×ª»»³É¸¡µãÐÍÊý£©
Ïà¹Øº¯Êý
atoi£¬atol£¬strtod£¬strtol£¬strtoul
±íÍ·Îļþ
#include <stdlib.h>
¶¨Ò庯Êý
double atof(const char *nptr);
º¯Êý˵Ã÷
atof()»áɨÃè²ÎÊýnptr×Ö·û´®£¬Ìø¹ýÇ°Ãæµ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ