c/c++void¼°voidÖ¸ÕëÀàÐÍ
c/c++void¼°voidÖ¸ÕëÀàÐÍ
¡¡¡¡1.¸ÅÊöÐí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬ÒåvoidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾Ý¡£
¡¡¡¡void¼¸ºõÖ»ÓГעÊÍ”ºÍÏÞÖÆ³ÌÐòµÄ×÷Óã¬ÒòΪ´ÓÀ´Ã»ÓÐÈ˻ᶨÒåÒ»¸övoid±äÁ¿£¬ÈÃÎÒÃÇÊÔ×ÅÀ´¶¨Ò壺
¡¡¡¡void a;
¡¡¡¡ÕâÐÐÓï¾ä±àÒëʱ»á³ö´í£¬Ìáʾ“illegal use of type 'void'”¡£²»¹ý£¬¼´Ê¹void aµÄ±àÒë²»»á³ö´í£¬ËüҲûÓÐÈκÎʵ¼ÊÒâÒå¡£
¡¡¡¡voidÕæÕý·¢»ÓµÄ×÷ÓÃÔÚÓÚ£º
¡¡¡¡£¨1£©¶Ôº¯Êý·µ»ØµÄÏÞ¶¨£»
¡¡¡¡£¨2£© ¶Ôº¯Êý²ÎÊýµÄÏÞ¶¨¡£
¡¡¡¡ÎÒÃǽ«ÔÚµÚÈý½Ú¶ÔÒÔÉ϶þµã½øÐоßÌå˵Ã÷¡£
¡¡¡¡ÖÚËùÖÜÖª£¬Èç¹ûÖ¸Õëp1ºÍp2µÄÀàÐÍÏàͬ£¬ÄÇôÎÒÃÇ¿ÉÒÔÖ±½ÓÔÚp1ºÍp2¼ä»¥Ïำֵ£»Èç¹ûp1ºÍp2Ö¸Ïò²»Í¬µÄÊý¾ÝÀàÐÍ£¬Ôò±ØÐëʹÓÃÇ¿ÖÆÀàÐÍ
¡¡¡¡×ª»»ÔËËã·û°Ñ¸³ÖµÔËËã·ûÓұߵÄÖ¸ÕëÀàÐÍת»»Îª×ó±ßÖ¸ÕëµÄÀàÐÍ¡£
¡¡¡¡ÀýÈ磺
¡¡¡¡float *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡ÆäÖÐp1 = p2Óï¾ä»á±àÒë³ö´í£¬Ìáʾ“'=' : cannot convert from 'int *' to 'float *'”£¬±ØÐë¸ÄΪ£º
¡¡¡¡p1 = (float *)p2;
¡¡¡¡¶øvoid *Ôò²»Í¬£¬ÈκÎÀàÐ͵ÄÖ¸Õë¶¼¿ÉÒÔÖ±½Ó¸³Öµ¸øËü£¬ÎÞÐè½øÐÐÇ¿ÖÆÀàÐÍת»»£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p1 = p2;
¡¡¡¡µ«Õâ²¢²»Òâζ×Å£¬void *Ò²¿ÉÒÔÎÞÐèÇ¿ÖÆÀàÐÍת»»µØ¸³¸øÆäËüÀàÐ͵ÄÖ¸Õë¡£ÒòΪ“ÎÞÀàÐÍ”¿ÉÒÔ°üÈÝ“ÓÐÀàÐÍ”£¬¶ø“ÓÐÀàÐÍ”Ôò²»ÄܰüÈÝ“ÎÞÀàÐÍ”¡£µÀÀíºÜ¼òµ¥£¬ÎÒÃÇ¿ÉÒÔ˵“ÄÐÈ˺ÍÅ®È˶¼ÊÇÈË”£¬µ«²»ÄÜ˵“ÈËÊÇÄÐÈË”»òÕß“ÈËÊÇÅ®ÈË”¡£ÏÂÃæµÄÓï¾ä±àÒë³ö´í£º
¡¡¡¡void *p1;
¡¡¡¡int *p2;
¡¡¡¡p2 = p1;
¡¡¡¡Ìáʾ“'=' : cannot convert from 'void *' to 'int *'”¡£
¡¡¡¡3.voidµÄʹÓÃ
¡¡¡¡ÏÂÃæ¸ø³övoid¹Ø¼ü×ÖµÄʹÓùæÔò£º
¡¡¡¡¹æÔòÒ» Èç¹ûº¯ÊýûÓзµ»ØÖµ£¬ÄÇôӦÉùÃ÷ΪvoidÀàÐÍ
¡¡¡¡ÔÚCÓïÑÔÖУ¬·²²»¼Ó·µ»ØÖµÀàÐÍÏÞ¶¨µÄº¯Êý£¬¾Í»á±»±àÒëÆ÷×÷Ϊ·µ»ØÕûÐÍÖµ´¦Àí¡£µ«ÊÇÐí¶à³ÌÐòԱȴÎóÒÔΪÆäΪvoidÀàÐÍ¡£ÀýÈ磺add ( int a, int b )
¡¡¡¡{
¡¡¡¡return a + b;
¡¡¡¡}
¡¡¡¡int main(int argc, char* argv[])
¡¡¡¡{
¡¡¡¡printf ( "2 + 3 = %d", add ( 2, 3) );
¡¡¡¡}
¡
Ïà¹ØÎĵµ£º
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, ......
GCC°²×°³É¹¦,ËùÐèÎļþÓÐ:
libf2c-3.3.2-1.i386.rpm
libstdc++-devel-3.3.2-1.i386.rpm
glibc-kernheaders-2.4-8.36.i386.rpm
glibc-headers-2.3.2-101.i386.rpm
glibc-devel-2.3.2-101.i386.rpm
gcc-objc-3.3.2-1.i386.rpm
binutils-2.14.90.0.6-3.i386.rpm
gcc-3.3.2-1.i386.rpm
gcc-c++-3.3.2-1.i386.rpm
autom ......
×÷ÕߣºÊ¯Í·
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ ......
±¾ÎĹؼü´Ê£º c++ º¬Òå
1.ÒýÑÔ
C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ ......
ÄÚºËÆô¶¯µÄÏÖÔÚÒѾÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboo ......