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

C/C++ ºêÏê½â

http://demonstyle.blog.163.com/blog/static/13143429020091010112159/
C/C++ ºêÏê½â
ic/c++ 2009-11-10 01:12:15 ÔĶÁ18 ÆÀÂÛ0 ×ֺţº´óÖÐС
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶ÔÓÚºêµÄÁË½â¾ø¶ÔûÄãÏëÏóµÄÄÇô¶à¡£Èç¹ûÄã
»¹²»ÖªµÀ#ºÍ##£¬Ò²²»ÖªµÀprescan£¬ÄÇôÄã¿Ï¶¨¶ÔºêµÄÁ˽ⲻ¹»¡£
ÎÒÉÔ΢½²½âϺêµÄһЩÓï·¨ÎÊÌâ(˵Óï·¨ÎÊÌâËÆºõ²»Í×£¬macroÖ»ÓëpreprocessorÓйأ¬¸úÓïÒå·ÖÎöÓÖÎÞ¹Ø)£º
1. ºê¿ÉÒÔÏñº¯ÊýÒ»Ñù±»¶¨Ò壬ÀýÈ磺
#define min(x,y) (x
µ«ÊÇÔÚʵ¼ÊʹÓÃʱ£¬Ö»Óе±Ð´ÉÏmin()£¬±ØÐë¼ÓÀ¨ºÅ£¬min²Å»á±»×÷ΪºêÕ¹¿ª£¬·ñÔò²»×öÈκδ¦Àí¡£
2. Èç¹ûºêÐèÒª²ÎÊý£¬Äã¿ÉÒÔ²»´«£¬±àÒëÆ÷»á¸øÄ㾯¸æ(ºê²ÎÊý²»¹»)£¬µ«ÊÇÕâ»áµ¼Ö´íÎó¡£ÈçC++Êé¼®ÖÐËùÃè
ÊöµÄ£¬±àÒëÆ÷(Ô¤´¦ÀíÆ÷)¶ÔºêµÄÓï·¨¼ì²é²»¹»£¬ËùÒÔ¸ü¶àµÄ¼ì²éÐÔ¹¤×÷µÃÄã×Ô¼ºÀ´×ö¡£
3. ºÜ¶à³ÌÐòÔ±²»ÖªµÀµÄ#ºÍ##
#·ûºÅ°ÑÒ»¸ö·ûºÅÖ±½Óת»»Îª×Ö·û´®£¬ÀýÈ磺
#define STRING(x) #x
const char *str = STRING( test_string ); strµÄÄÚÈݾÍÊÇ"test_string"£¬Ò²¾ÍÊÇ˵#»á°ÑÆäºóµÄ·ûºÅ
Ö±½Ó¼ÓÉÏË«ÒýºÅ¡£
##·ûºÅ»áÁ¬½ÓÁ½¸ö·ûºÅ£¬´Ó¶ø²úÉúеķûºÅ(´Ê·¨²ã´Î)£¬ÀýÈ磺
#define SIGN( x ) INT_##x
int SIGN( 1 ); ºê±»Õ¹¿ªºó½«³ÉΪ£ºint INT_1;
4. ±ä²Îºê£¬Õâ¸ö±È½Ï¿á£¬ËüʹµÃÄã¿ÉÒÔ¶¨ÒåÀàËÆµÄºê£º
#define LOG( format, ... ) printf( format, __VA_ARGS__ )
LOG( "%s %d", str, count );
__VA_ARGS__ÊÇϵͳԤ¶¨Òåºê£¬±»×Ô¶¯Ì滻Ϊ²ÎÊýÁÐ±í¡£
5. µ±Ò»¸öºê×Ô¼ºµ÷ÓÃ×Ô¼ºÊ±£¬»á·¢Éúʲô£¿ÀýÈ磺
#define TEST( x ) ( x + TEST( x ) )
TEST( 1 ); »á·¢Éúʲô£¿ÎªÁË·ÀÖ¹ÎÞÏÞÖÆµÝ¹éÕ¹¿ª£¬Óï·¨¹æ¶¨£¬µ±Ò»¸öºêÓöµ½×Ô¼ºÊ±£¬¾ÍÍ£Ö¹Õ¹¿ª£¬Ò²¾ÍÊÇ
˵£¬µ±¶ÔTEST( 1 )½øÐÐÕ¹¿ªÊ±£¬Õ¹¿ª¹ý³ÌÖÐÓÖ·¢ÏÖÁËÒ»¸öTEST£¬ÄÇô¾Í½«Õâ¸öTESTµ±×÷Ò»°ãµÄ·ûºÅ¡£TEST(1)
×îÖÕ±»Õ¹¿ªÎª£º1 + TEST( 1) ¡£
6. ºê²ÎÊýµÄprescan£¬
µ±Ò»¸öºê²ÎÊý±»·Å½øºêÌåʱ£¬Õâ¸öºê²ÎÊý»áÊ×Ïȱ»È«²¿Õ¹¿ª(ÓÐÀýÍ⣬¼ûÏÂÎÄ)¡£µ±Õ¹¿ªºóµÄºê²ÎÊý±»·Å½øºêÌåʱ£¬
Ô¤´¦ÀíÆ÷¶ÔÐÂÕ¹¿ªµÄºêÌå½øÐеڶþ´ÎɨÃ裬²¢¼ÌÐøÕ¹¿ª¡£ÀýÈ磺
#define PARAM( x ) x
#define ADD


Ïà¹ØÎĵµ£º

JAVA²Ù×÷XMLµÄÍêÕûÀý×Ó——W3C DOMƪ

ÕâÊÇÒ»¸öÓÃJAVA W3C DOM ½øÐÐXML²Ù×÷µÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅJAVA XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºtest1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <name>¹þÀï²¨Ì ......

CºÍC++Ö®¼äµÄ²»Í¬

£¨×¢£¬±¾ÎÄÊÇ·­ÒëµÄhttp://www.cprogramming.com/
ÉϵÄÎÄÕ Where C and C++ Differ
£©
C++»ùÓÚC£¬Ò²±£ÁôÁËCµÄ´ó²¿·ÖÌØÐÔ¡£µ«ÊÇÔÚÔ´Âë¼¶ÉÏÓÐЩµØ·½ÊÇÓëC²»¼æÈݵġ£
C³ÌÐòԱʹÓÃC++ʱµÄÏÝÚå
´Ó void* µÄÒþʽ·ÖÅä
²»ÄÜ´Ó void* ÒþʽµØ·ÖÅäµ½ÆäËûÈκÎÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ´úÂëÔÚCÖÐÊǷdz£ÓÐЧµÄ¡£
    in ......

B/S ÓëC/S µÄÇø±ð


B/S½á¹¹£¬¼´Browser/Server£¨ä¯ÀÀÆ÷/·þÎñÆ÷£©½á¹¹£¬ÊÇËæ×ÅInternet¼¼ÊõµÄÐËÆð£¬¶ÔC/S½á¹¹µÄÒ»Öֱ仯»òÕ߸ĽøµÄ½á¹¹¡£ÔÚÕâÖÖ
½á¹¹Ï£¬Óû§½çÃæÍêȫͨ¹ýWWWä¯ÀÀÆ÷ʵÏÖ£¬Ò»²¿·ÖÊÂÎñÂß¼­ÔÚǰ¶ËʵÏÖ£¬µ«ÊÇÖ÷ÒªÊÂÎñÂß¼­ÔÚ·þÎñÆ÷¶ËʵÏÖ£¬ÐγÉËùν3-tier½á¹¹¡£B/S½á¹¹£¬Ö÷ÒªÊÇ
ÀûÓÃÁ˲»¶Ï³ÉÊìµÄWWWä¯ÀÀÆ÷¼¼Êõ£¬½áºÏä¯ÀÀÆ÷µÄ¶àÖ ......

C/C++²»¶¨²ÎÊýµÄÓ÷¨

C++²»¶¨²ÎÊýµÄÓ÷¨ £¨CÀàËÆ£©
2009-11-19 15:41
/*
va_list vl; //¶¨ÒåÒ»¸öÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿(Ò»¸ö...Ö¸Õë)
va_start(vl,first_param); //°ÑÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿³õʼ»¯
va_arg(vl,mode); //»ñÈ¡ÏÂÒ»¸ö²ÎÊý,²ÎÊýÀàÐÍÓɵڶþ¸ö²ÎÊýÖ¸¶¨,µÚ¶þ¸ö²ÎÊýÓÃÓÚÔÚva_argÄÚ²¿½øÐÐ³ß´ç¼ÆËã,ÒÔ±ãÕÒµ½ÏÂÒ»¸ö²ÎÊý
va_end(vl); //½áÊø
......

×ªÔØ:Hadoop Ó¦¸ÃÓÃC++ʵÏÖ£¬¶ø²»ÊÇJava

http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html
Sunday, May 10, 2009
Hadoop should target C++/LLVM, not Java (because of watts)
< type="text/javascript">
digg_url="http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html";
Over the years, ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ