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

ʹÓà gperf ʵÏÖ¸ßЧµÄ C/C++ ÃüÁîÐд¦Àí


ʹÓà gperf ʵÏÖ¸ßЧµÄ C/C++ ÃüÁîÐд¦Àí
GNU ÍêÃÀ£¨gperf£©É¢Áк¯ÊýÉú³ÉÆ÷¼ò»¯¸´ÔÓµÄÊäÈë×Ö·û´®
ÎĵµÑ¡Ïî
¼¶±ð£º Öм¶
Arpan Sen
(arpan@syncad.com
), ¼¼ÊõÖ÷¹Ü, Synapti Computer Aided Design Pvt Ltd
2007 Äê 9 ÔÂ 10 ÈÕ
GNU µÄ gperf ¹¤¾ßÊÇÒ»ÖÖ “ÍêÃÀµÄ” É¢Áк¯Êý£¬¿ÉÒÔΪÓû§ÌṩµÄÒ»×éÌØ¶¨×Ö·û´®Éú³ÉÉ¢ÁÐ±í¡¢É¢Áк¯ÊýºÍ²éÕÒº¯ÊýµÄ C/C++ ´úÂ롣ͨ¹ý±¾ÎÄѧϰÈçºÎʹÓà gperf ʵÏÖ C/C++ ´úÂëÖиßЧµÄÃüÁîÐд¦Àí¡£
ÃüÁîÐд¦ÀíºÍ gperf µÄ×÷ÓÃ
ÃüÁîÐд¦ÀíÒ»Ö±ÒÔÀ´¶¼ÊÇÈí¼þ¿ª·¢ÖÐ×îÈÝÒ×±»ºöÊÓµÄÁìÓò¡£¼¸ºõËùÓбȽϸ´ÔÓµÄÈí¼þ¶¼¾ßÓÐһЩ¿ÉÓõÄÃüÁîÐÐÑ¡Ïî¡£ÊÂʵÉÏ£¬´óÁ¿ if-else
Óï¾ä¾­³£±»ÓÃÀ´´¦ÀíÓû§ÊäÈ룬Òò´Ëά»¤ÕâÖÖÒÅÁô´úÂëÏ൱·Ñʱ£¬¶Ô×ÊÉî³ÌÐòÔ±ÒàÊÇÈç´Ë¡£ÕâÖÖÇéÐÎÏ£¬ºÜ¶à C ¿ª·¢ÈËԱͨ³£Ê¹ÓÃÈß³¤£¨Í¨³£¶¼Ç¶Ì×ʹÓã©µÄ if-else
Óï¾ä£¬ÒÔ¼° ANSI C ¿âº¯Êý£¬ÀýÈç strcmp
¡¢strcasecmp
ºÍ strtok
×÷Ϊ²¹³ä£¬ÈçÇåµ¥ 1 Ëùʾ¡£

Çåµ¥ 1. C ÓïÑÔÑùʽµÄÃüÁîÐд¦Àí

if (strtok(cmdstring, "+dumpdirectory"))
{
// code for printing help messages goes here
}
else if (strtok(cmdstring, "+dumpfile"))
{
// code for printing version info goes here
}
C++ ¿ª·¢ÈËÔ±²¢Ã»ÓÐʹÓûùÓÚ ANSI C µÄÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¬¶øÊÇʹÓñê׼ģ°å¿â£¨Standard Template Library£¬STL£©ÖеÄ×Ö·û´®¡£¾¡¹ÜÈç´Ë£¬ÈÔÈ»ÎÞ·¨±ÜÃâʹÓÃǶÌ×µÄ if-else
ÐòÁÐÓï¾ä¡£ºÜÃ÷ÏÔ£¬Ëæ×ÅÃüÁîÐÐÑ¡Ïî²»¶ÏÔö¼Ó£¬ÕâÖÖ·½·¨È±·¦¿ÉÉìËõÐÔ¡£¶ÔÓÚ¾ßÓÐ N ¸öÑ¡ÏîµÄµäÐͳÌÐòµ÷Ó㬴úÂë×îÖÕÖ´ÐÐ 0£¨N2
£©±È½Ï¡£ÎªÁËÉú³ÉÔËÐиü¼Ó¿ì½Ý²¢Ò×ÓÚά»¤µÄ´úÂ룬ʹÓÃÉ¢ÁÐ±í´æ´¢ÃüÁîÐÐÑ¡ÏʹÓÃÉ¢ÁÐÑéÖ¤Óû§Ö¸¶¨µÄÊäÈ룬ÕâÖÖ·½·¨·Ç³£ÓаïÖú¡£
Õâ¾ÍÊÇ gperf °çÑݵĽÇÉ«¡£Ëü½«´ÓÔ¤¶¨µÄÓÐЧÃüÁîÐÐÑ¡ÏîÁбíºÍʱ¼ä¸´ÔÓ¶ÈΪ O(1) µÄ²éÕÒº¯ÊýÖÐÉú³ÉÒ»¸öÉ¢ÁÐ±í¡£Òò´Ë£¬¶ÔÓÚ¾ßÓÐ N ¸öÑ¡ÏîµÄµäÐͳÌÐòµ÷Ó㬴úÂëÖ»ÐèÖ´ÐÐ O(N) [N*O(1)]
±È½Ï — ÕâÊǶÔÒÅÁô´úÂëµÄ¾Þ´ó¸Ä½ø¡£
 
Gperf ʹÓÃģʽ
Gperf ½«´ÓÓû§ÌṩµÄÎļþÖУ¨Í¨³£Ê¹Óà .gperf ×÷ΪÀ©Õ¹Ãû£¬µ«²»×öÇ¿ÖÆÒªÇ󣩗 ÀýÈ磬commandoptions.gperf — ²¢Õë¶ÔÉ¢ÁÐ±í¡¢É¢ÁкͲéÕÒ·½·¨Éú³É C/C++ Ô´´úÂë¡£ËùÓдúÂë±»¶¨Ïòµ½±ê×¼Êä³ö£¬È»ºó±ØÐëÖØ¶¨Ïòµ½ÀàËÆÏÂÃæµÄÎļþ£º
gperf -L C++ command_line_options.gperf > p


Ïà¹ØÎĵµ£º

×ªÔØ: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, ......

C/C++Ó﷨֪ʶ£ºtypedef struct Ó÷¨Ïê½â

µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷ ......

ʹÓÃc#´´½¨sql serverµÄ´æ´¢¹ý³Ì_c#Ó¦ÓÃ1

½éÉÜ
ͨ³££¬Ñз¢ÈËԱʹÓõÄÊÇT-SQLÀ´´´½¨SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ ¶øÏÖÔÚµÄSQL Server 2005ÒÑÍêȫ֧³Ö.NETͨÓÃÓïÑÔÔËÐÐʱ£¨CLR£©ÁË¡£ Õâ¾ÍÒâζ×Å£¬ÄúÄܹ»Ê¹ÓÃ.NETµÄÓïÑÔ£¬ÈçC#¡¢VB.NETÖ®ÀàµÄÀ´Ñз¢SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ SQL Server ºÍ CLR µÄ¼¯³É¸øÎÒÃÇ´øÀ´ÁËn¶àºÃ´¦£¬Èçʵʱ±àÒë¡¢ÀàÐͰ²È«¡ ......

[C/C++ Digestion] – Rule of Three, ¸´ÖÆ¿ØÖÆ


[C/C++ Digestion] – Rule of Three,
¸´ÖÆ¿ØÖÆ
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-13
 
[1]
¸´Öƹ¹Ô캯Êý
copy constructor
Rule of Three
ÊÇÖ¸ÀàÈç¹ûÐèÒªÎö¹¹º¯Êý£¬Ôòͨ³£Ò²ÐèÒª¸´Öƹ¹Ô캯ÊýºÍ¸³Öµ²Ù×÷·û¡£¶øÆäʵϰ¹ßµØÏÔʾ±àдÕâÈýÕß±¾¾ÍÊÇÒ»¸öÁ¼ºÃµÄϰ¹ß¡£Òò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ