Ôø¾ÈÏΪ£¬Ñ§ºÃCÓïÑÔ´ò±éÌìÏÂÎÞµÐÊÖ¡£ ºóÀ´·¢ÏÖΪÁËÃæÏò¶ÔÏ󣬲»µÃ²»ÓÃC++£¬ºóÀ´·¢ÏÖÃæÏò¶ÔÏó¹ûÈ»ÊǷdz£Î°´óµÄ˼Ï룡 ÔÙºóÀ´£¬´ÓVS6.0Õâ¸ö°æ±¾Ö®ºó£¬VC¾ÍÒѾûÓÐʲô̫´óµÄ±ä»¯ÁË£¬MFCµÈµÈ¶¼ÒѾÎȶ¨ÏÂÀ´ÁË£¬Î¢Èí²»ÍæÁË£¬Î¢ÈíÅܵ½.netƽ̨ÉÏÃæÈ¥ÍæÁË£¡£¡Î¢ÈíһЩеÄÓ¦Óã¬È«²¿¶¼Åܵ½.netƽ̨ÉÏÈ¥ÁË£¬VCƽ̨¸öÈ˾õµÃ¾ÍÊ£ÏÂMFC¿ª·¢×ÀÃæ³ÌÐò¾ßÓÐÓÅÊÆ¡£¡£¡£¡£¡£¡£ÎªÁË΢ÈíµÄÕâЩж«Î÷£¬²»µÃ²»È¥¸ãC#£¬¸Ð¾õ¾Í±»Î¢Èí¡°Ç¿¼é¡±ÁË£¡£¡ CÓïÑÔµÄͨÓÃÐԺã¬Ð§Âʸߣ¬ÔÚǶÈëʽƽ̨ºÍLinux»·¾³Ï£¬CÓïÑÔÊÇÍõÕß¡£ C++ЧÂʸߣ¬ÃæÏò¶ÔÏó£¬STL£¬boost£¬boostµÄMPL£¬lokiµÈ¿âÏ൱ţB£¬Óï·¨×ÔÓÉ¡£ C#£¬±»Î¢Èí¡°Ç¿¼é¡±µÄ£¬Î¢Èí¿ª·¢Á˺ܶàºÃÓõĶ«Î÷£¬¶Ô¿ª·¢ÆðÀ´Ê¡ºÜ¶àÊÂÇ飬ÓÐЩ¶«Î÷¾ÍÊǸù±¾£¬ÎªÁËÕâЩºÃÓõĶ«Î÷£¬²»µÃ²»ÓÃC#¡£ ±ðÈËÒ»°ã˵£¬C/C++£¬²»¹ýÎÒÊÇC/C++/C#°¡¡£ ......
Ôø¾ÈÏΪ£¬Ñ§ºÃCÓïÑÔ´ò±éÌìÏÂÎÞµÐÊÖ¡£ ºóÀ´·¢ÏÖΪÁËÃæÏò¶ÔÏ󣬲»µÃ²»ÓÃC++£¬ºóÀ´·¢ÏÖÃæÏò¶ÔÏó¹ûÈ»ÊǷdz£Î°´óµÄ˼Ï룡 ÔÙºóÀ´£¬´ÓVS6.0Õâ¸ö°æ±¾Ö®ºó£¬VC¾ÍÒѾûÓÐʲô̫´óµÄ±ä»¯ÁË£¬MFCµÈµÈ¶¼ÒѾÎȶ¨ÏÂÀ´ÁË£¬Î¢Èí²»ÍæÁË£¬Î¢ÈíÅܵ½.netƽ̨ÉÏÃæÈ¥ÍæÁË£¡£¡Î¢ÈíһЩеÄÓ¦Óã¬È«²¿¶¼Åܵ½.netƽ̨ÉÏÈ¥ÁË£¬VCƽ̨¸öÈ˾õµÃ¾ÍÊ£ÏÂMFC¿ª·¢×ÀÃæ³ÌÐò¾ßÓÐÓÅÊÆ¡£¡£¡£¡£¡£¡£ÎªÁË΢ÈíµÄÕâЩж«Î÷£¬²»µÃ²»È¥¸ãC#£¬¸Ð¾õ¾Í±»Î¢Èí¡°Ç¿¼é¡±ÁË£¡£¡ CÓïÑÔµÄͨÓÃÐԺã¬Ð§Âʸߣ¬ÔÚǶÈëʽƽ̨ºÍLinux»·¾³Ï£¬CÓïÑÔÊÇÍõÕß¡£ C++ЧÂʸߣ¬ÃæÏò¶ÔÏó£¬STL£¬boost£¬boostµÄMPL£¬lokiµÈ¿âÏ൱ţB£¬Óï·¨×ÔÓÉ¡£ C#£¬±»Î¢Èí¡°Ç¿¼é¡±µÄ£¬Î¢Èí¿ª·¢Á˺ܶàºÃÓõĶ«Î÷£¬¶Ô¿ª·¢ÆðÀ´Ê¡ºÜ¶àÊÂÇ飬ÓÐЩ¶«Î÷¾ÍÊǸù±¾£¬ÎªÁËÕâЩºÃÓõĶ«Î÷£¬²»µÃ²»ÓÃC#¡£ ±ðÈËÒ»°ã˵£¬C/C++£¬²»¹ýÎÒÊÇC/C++/C#°¡¡£ ......
Ôø¾ÈÏΪ£¬Ñ§ºÃCÓïÑÔ´ò±éÌìÏÂÎÞµÐÊÖ¡£ ºóÀ´·¢ÏÖΪÁËÃæÏò¶ÔÏ󣬲»µÃ²»ÓÃC++£¬ºóÀ´·¢ÏÖÃæÏò¶ÔÏó¹ûÈ»ÊǷdz£Î°´óµÄ˼Ï룡 ÔÙºóÀ´£¬´ÓVS6.0Õâ¸ö°æ±¾Ö®ºó£¬VC¾ÍÒѾûÓÐʲô̫´óµÄ±ä»¯ÁË£¬MFCµÈµÈ¶¼ÒѾÎȶ¨ÏÂÀ´ÁË£¬Î¢Èí²»ÍæÁË£¬Î¢ÈíÅܵ½.netƽ̨ÉÏÃæÈ¥ÍæÁË£¡£¡Î¢ÈíһЩеÄÓ¦Óã¬È«²¿¶¼Åܵ½.netƽ̨ÉÏÈ¥ÁË£¬VCƽ̨¸öÈ˾õµÃ¾ÍÊ£ÏÂMFC¿ª·¢×ÀÃæ³ÌÐò¾ßÓÐÓÅÊÆ¡£¡£¡£¡£¡£¡£ÎªÁË΢ÈíµÄÕâЩж«Î÷£¬²»µÃ²»È¥¸ãC#£¬¸Ð¾õ¾Í±»Î¢Èí¡°Ç¿¼é¡±ÁË£¡£¡ CÓïÑÔµÄͨÓÃÐԺã¬Ð§Âʸߣ¬ÔÚǶÈëʽƽ̨ºÍLinux»·¾³Ï£¬CÓïÑÔÊÇÍõÕß¡£ C++ЧÂʸߣ¬ÃæÏò¶ÔÏó£¬STL£¬boost£¬boostµÄMPL£¬lokiµÈ¿âÏ൱ţB£¬Óï·¨×ÔÓÉ¡£ C#£¬±»Î¢Èí¡°Ç¿¼é¡±µÄ£¬Î¢Èí¿ª·¢Á˺ܶàºÃÓõĶ«Î÷£¬¶Ô¿ª·¢ÆðÀ´Ê¡ºÜ¶àÊÂÇ飬ÓÐЩ¶«Î÷¾ÍÊǸù±¾£¬ÎªÁËÕâЩºÃÓõĶ«Î÷£¬²»µÃ²»ÓÃC#¡£ ±ðÈËÒ»°ã˵£¬C/C++£¬²»¹ýÎÒÊÇC/C++/C#°¡¡£ ......
¼ÆËãÏß³ÌÖ´ÐÐijÏîÈÎÎñÏûºÄµÄʱ¼äʱ£¬Ðí¶à¿ª·¢ÈËÔ±»áµ÷ÓÃGetTickCount/GetTickCount64±àдÈçϵĴúÂ룺
// Get the current time (start time)
ULONGLONG qwStartTime = GetTickCount64();
// Perform complex algorithm here
// Subtract start time from current time to get duration
ULONGLONG dwElapsedTime = GetTickCount64() - qwStartTime;
Õâ¶Î´úÂë¼ÙÉ赱ǰÏ̲߳»»á±»Öжϡ£È»¶øÔÚWindowsÕâÑùµÄ»ùÓÚÓÅÏȼ¶µÄ²Ù×÷ϵͳÖУ¬¿ª·¢ÈËÔ±ÎÞ·¨µÃÖªÏ̱߳»µ÷¶ÈµÄ׼ȷʱ¼ä¡£µ±Ïß³ÌÔÚÖ´ÐÐÈÎÎñÖб»ÖжÏʱ£¬Ê¹ÓÃÉÏÃæµÄ·½·¨¸ù±¾ÎÞ·¨»ñµÃÏß³ÌËùÏûºÄµÄʱ¼ä¡£ÎÒÃÇÐèÒªÒ»¸ö¿ÉÒÔ·µ»ØÏß³ÌÏûºÄµÄCPUʱ¼ä£¨¼È±»µ÷¶Èʱ¼ä£©µÄº¯Êý£¬ÐÒÔ˵ÄÊÇ£¬ÔÚVista֮ǰµÄ²Ù×÷ϵͳÒѾÌṩÁËGetThreadTimes×öµ½ÕâÒ»µã£º
BOOL GetThreadTimes(HANDLE hThread,
PFILETIME pftCreationTime,
PFILETIME pftExitTime,
PFILETIME pftKernelTime,
PFILETIME pftUserTime);
GetThreadTimeº¯Êý»á½«Ïß³ÌÏà¹ØµÄʱ¼äÐÅϢдÈëΪÆä´«µÝµÄPFILETIME²ÎÊýÖУ¬¸÷¸ö²ÎÊý·µ»ØÖµµÄº¬ÒåÈçϱíËùʾ£º
²ÎÊý
ÒâÒå
pftCreationTime
´Ó1601Äê1ÔÂ1ºÅÁ賿¿ªÊ¼µ½Ö¸¶¨Ï̱߳»´´½¨Ê±µÄʱ¼ä£¬ÒÔ100ÄÉÃëΪµ¥Î»
pftExitTim ......
¼ÆËãÏß³ÌÖ´ÐÐijÏîÈÎÎñÏûºÄµÄʱ¼äʱ£¬Ðí¶à¿ª·¢ÈËÔ±»áµ÷ÓÃGetTickCount/GetTickCount64±àдÈçϵĴúÂ룺
// Get the current time (start time)
ULONGLONG qwStartTime = GetTickCount64();
// Perform complex algorithm here
// Subtract start time from current time to get duration
ULONGLONG dwElapsedTime = GetTickCount64() - qwStartTime;
Õâ¶Î´úÂë¼ÙÉ赱ǰÏ̲߳»»á±»Öжϡ£È»¶øÔÚWindowsÕâÑùµÄ»ùÓÚÓÅÏȼ¶µÄ²Ù×÷ϵͳÖУ¬¿ª·¢ÈËÔ±ÎÞ·¨µÃÖªÏ̱߳»µ÷¶ÈµÄ׼ȷʱ¼ä¡£µ±Ïß³ÌÔÚÖ´ÐÐÈÎÎñÖб»ÖжÏʱ£¬Ê¹ÓÃÉÏÃæµÄ·½·¨¸ù±¾ÎÞ·¨»ñµÃÏß³ÌËùÏûºÄµÄʱ¼ä¡£ÎÒÃÇÐèÒªÒ»¸ö¿ÉÒÔ·µ»ØÏß³ÌÏûºÄµÄCPUʱ¼ä£¨¼È±»µ÷¶Èʱ¼ä£©µÄº¯Êý£¬ÐÒÔ˵ÄÊÇ£¬ÔÚVista֮ǰµÄ²Ù×÷ϵͳÒѾÌṩÁËGetThreadTimes×öµ½ÕâÒ»µã£º
BOOL GetThreadTimes(HANDLE hThread,
PFILETIME pftCreationTime,
PFILETIME pftExitTime,
PFILETIME pftKernelTime,
PFILETIME pftUserTime);
GetThreadTimeº¯Êý»á½«Ïß³ÌÏà¹ØµÄʱ¼äÐÅϢдÈëΪÆä´«µÝµÄPFILETIME²ÎÊýÖУ¬¸÷¸ö²ÎÊý·µ»ØÖµµÄº¬ÒåÈçϱíËùʾ£º
²ÎÊý
ÒâÒå
pftCreationTime
´Ó1601Äê1ÔÂ1ºÅÁ賿¿ªÊ¼µ½Ö¸¶¨Ï̱߳»´´½¨Ê±µÄʱ¼ä£¬ÒÔ100ÄÉÃëΪµ¥Î»
pftExitTim ......
## Á¬½Ó·ûÓë# ·û
¡¡¡¡## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æä¹¦ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔÀíÀïÓÐÏ꾡µÄ½âÊÍ£¬µ«²»ÖªµÀÒ²ÎÞËùν¡£Í¬Ê±ÖµµÃ×¢ÒâµÄÊÇ#Á¬½Ó·ûÊǰѴ«µÝ¹ýÀ´µÄ²ÎÊýµ±³É×Ö·û´®½øÐÐÌæ´ú¡£ÏÂÃæÀ´¿´¿´ËüÃÇÊÇÔõÑù¹¤×÷µÄ¡£ÕâÊÇMSDNÉϵÄÒ»¸öÀý×Ó¡£
¡¡¡¡¼ÙÉè³ÌÐòÖÐÒѾ¶¨ÒåÁËÕâÑùÒ»¸ö´ø²ÎÊýµÄºê£º
#define paster( n ) printf( "token" #n " = %d", token##n )
¡¡¡¡Í¬Ê±ÓÖ¶¨ÒåÁËÒ»¸öÕûÐαäÁ¿£º
int token9 = 9;
¡¡¡¡ÏÖÔÚÔÚÖ÷³ÌÐòÖÐÒÔÏÂÃæµÄ·½Ê½µ÷ÓÃÕâ¸öºê£º
paster( 9 );
¡¡¡¡ÄÇôÔÚ±àÒëʱ£¬ÉÏÃæµÄÕâ¾ä»°±»À©Õ¹Îª£º
printf( "token" "9" " = %d", token9 );
Ïêϸ½â˵£º#n Ï൱ÓÚ “n”, token##n Ï൱ÓÚtoken9,Ðë×¢Òâ##²»Äܵ±³ÉÁ½¸ö#,ËûÃÇÒâÒåÊDz»Í¬µÄ¡£
¡¡¡¡
¡¡×¢Òâµ½ÔÚÕâ¸öÀý×ÓÖУ¬paster(9);ÖеÄÕâ¸ö”9”±»Ô·â²»¶¯µÄµ±³ÉÁËÒ»¸ö×Ö·û´®£¬Óë”token”Á¬½ÓÔÚÁËÒ»Æð£¬´Ó¶ø³ÉΪÁËtoken9¡£¶ø#nÒ²±»”9”ËùÌæ´ú¡£
¡¡¡¡¿ÉÏë¶øÖª£¬ÉÏÃæ³ÌÐòÔËÐеĽá¹û¾ÍÊÇÔÚÆÁÄ»ÉÏ´òÓ ......
## Á¬½Ó·ûÓë# ·û
¡¡¡¡## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æä¹¦ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔÀíÀïÓÐÏ꾡µÄ½âÊÍ£¬µ«²»ÖªµÀÒ²ÎÞËùν¡£Í¬Ê±ÖµµÃ×¢ÒâµÄÊÇ#Á¬½Ó·ûÊǰѴ«µÝ¹ýÀ´µÄ²ÎÊýµ±³É×Ö·û´®½øÐÐÌæ´ú¡£ÏÂÃæÀ´¿´¿´ËüÃÇÊÇÔõÑù¹¤×÷µÄ¡£ÕâÊÇMSDNÉϵÄÒ»¸öÀý×Ó¡£
¡¡¡¡¼ÙÉè³ÌÐòÖÐÒѾ¶¨ÒåÁËÕâÑùÒ»¸ö´ø²ÎÊýµÄºê£º
#define paster( n ) printf( "token" #n " = %d", token##n )
¡¡¡¡Í¬Ê±ÓÖ¶¨ÒåÁËÒ»¸öÕûÐαäÁ¿£º
int token9 = 9;
¡¡¡¡ÏÖÔÚÔÚÖ÷³ÌÐòÖÐÒÔÏÂÃæµÄ·½Ê½µ÷ÓÃÕâ¸öºê£º
paster( 9 );
¡¡¡¡ÄÇôÔÚ±àÒëʱ£¬ÉÏÃæµÄÕâ¾ä»°±»À©Õ¹Îª£º
printf( "token" "9" " = %d", token9 );
Ïêϸ½â˵£º#n Ï൱ÓÚ “n”, token##n Ï൱ÓÚtoken9,Ðë×¢Òâ##²»Äܵ±³ÉÁ½¸ö#,ËûÃÇÒâÒåÊDz»Í¬µÄ¡£
¡¡¡¡
¡¡×¢Òâµ½ÔÚÕâ¸öÀý×ÓÖУ¬paster(9);ÖеÄÕâ¸ö”9”±»Ô·â²»¶¯µÄµ±³ÉÁËÒ»¸ö×Ö·û´®£¬Óë”token”Á¬½ÓÔÚÁËÒ»Æð£¬´Ó¶ø³ÉΪÁËtoken9¡£¶ø#nÒ²±»”9”ËùÌæ´ú¡£
¡¡¡¡¿ÉÏë¶øÖª£¬ÉÏÃæ³ÌÐòÔËÐеĽá¹û¾ÍÊÇÔÚÆÁÄ»ÉÏ´òÓ ......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
ÓкܶàѧÉúÎÊÎÒ,ÏÖÔÚ 3GÒÆ¶¯»¥ÁªÍø·¢Õ¹Ö®ÊÆÍ·±Ø½«ÊÇITÁìÓò·¢Õ¹Ê®ÄêÒ»ÓöµÄÄѵûúÓö£¬ÏëͶÉíµ½¸ÃÐÐÒµÖУ¬²»ÖªµÀÊÇÓ¦¸ÃÑ§ÍøÂç¡¢»¹ÊÇѧǶÈëʽÉ豸¿ª·¢¡¢»¹ÊÇѧϰһÏÂJava,C++Ó¦Óÿª·¢£¬»¹ÊÇѧϰһÏ¿ªÔ´¿ò¼ÜAndroid?
´ÓÎÒ¸öÈ˶ÔÐÐÒµµÄÀí½âÀ´½²£¬Òƶ¯»¥ÁªÍøµÄ·¢Õ¹Ò»¶¨ÊÇÏÈ´ÓÍøÂ翪ʼ£¬ÍøÂçÉ豸ÌṩÉÌ¡¢ÐÒéµÄ¿ª·¢»ú¹¹£¨ÈçTD£©ÊǵÚÒ»°ô£¬ÎÞÂÛÊÇÒÆ¶¯»¹ÊÇÁªÍ¨Ê×ÏÈÒªÍê³É»ù´¡ÍøÂçµÄ½¨É裬Èç¹ûÏë½øÈ뻪Ϊ¡¢Ë¼¿Æ¡¢´óÌÆÕâÑùµÄ¹«Ë¾Ó¦¸ÃÊÇÒªÇóÓкܸߵÄѧÀúÒÔ¼°ÍøÂ硢ͨѶ¼¼ÊõµÄ¾Ñ飬¶ÔÓÚ´ó¶àÊý±¾¿ÆÉúÀ´½²Â·¾¶Ó¦¸Ã½Ï³¤£¬¶øÇÒµ±Ç°ÔËÓªÉ̺ʹóµÄ¹«Ë¾ÆÕ±é²ÉȡѧÉúʵϰµÄ·½Ê½Íê³ÉÍøÂ罨É裬Ï൱ÓÚÁÙʱ¹¤£¬ÎÒ±¾È˲¢²»¿´ºÃ´ó¶àÊý¼ÆËã»úÏà¹Ø×¨ÒµµÄ±¾¿ÆÉúÍùÕâ·½Ãæ·¢Õ¹¡£
µ±ÍøÂçÍê³ÉÆÌÉ裬Ê×ÏÈÔËÓªÉÌ»á¸úÉ豸³§É̶¨ÖÆÖÕ¶Ë¡¢´Ó9Ô·ݿªÊ¼ÖйúÒÆ¶¯OPhone¶¨ÖÆÊÖ»úÒÑ¾Â½ÐøÉÏÊУ¬ÔËÓªÉÌ»á´óÁ¦ÍƹãÖն˵ÄÏúÊÛ£¬½éʱ»áÍÆ³ö¸÷ÖÖ´ÙÏú²ßÂÔ£¬Èç1Ôª»»3gÊÖ»úµÈ¡£Òò´Ë×öǶÈëʽ¿ª·¢µÄÊг¡»áËæ×ÅÔËÓªÉ̵ÄÍÆ¹ã¶ø·¢Õ¹ÆðÀ´£¬¶øÇÒ3GÍøÂçËùÓ°ÏìµÄ²»½ö½öÊÇÊÖ»ú»¹Óи÷ÖÖµçÆ÷¶¼¿ÉÄܳÉΪ3GÍøÂçµÄÒ»²¿·Ö£¬ÕâÑùµÄ»°Èç¹û¶ÔÓ²¼þÉ豸¡¢Ç¶Èëʽ¿ª·¢Ó¦¸ÃÊÇÒ»¸ö½Ï´óµÄÊг¡£¬Èç¹ûÕâ¸öʱºò´Ó¼ÆËã»úϵͳÔÀí¡¢±àÒëÔÀí¡¢¼Æ ......
ÓкܶàѧÉúÎÊÎÒ,ÏÖÔÚ 3GÒÆ¶¯»¥ÁªÍø·¢Õ¹Ö®ÊÆÍ·±Ø½«ÊÇITÁìÓò·¢Õ¹Ê®ÄêÒ»ÓöµÄÄѵûúÓö£¬ÏëͶÉíµ½¸ÃÐÐÒµÖУ¬²»ÖªµÀÊÇÓ¦¸ÃÑ§ÍøÂç¡¢»¹ÊÇѧǶÈëʽÉ豸¿ª·¢¡¢»¹ÊÇѧϰһÏÂJava,C++Ó¦Óÿª·¢£¬»¹ÊÇѧϰһÏ¿ªÔ´¿ò¼ÜAndroid?
´ÓÎÒ¸öÈ˶ÔÐÐÒµµÄÀí½âÀ´½²£¬Òƶ¯»¥ÁªÍøµÄ·¢Õ¹Ò»¶¨ÊÇÏÈ´ÓÍøÂ翪ʼ£¬ÍøÂçÉ豸ÌṩÉÌ¡¢ÐÒéµÄ¿ª·¢»ú¹¹£¨ÈçTD£©ÊǵÚÒ»°ô£¬ÎÞÂÛÊÇÒÆ¶¯»¹ÊÇÁªÍ¨Ê×ÏÈÒªÍê³É»ù´¡ÍøÂçµÄ½¨É裬Èç¹ûÏë½øÈ뻪Ϊ¡¢Ë¼¿Æ¡¢´óÌÆÕâÑùµÄ¹«Ë¾Ó¦¸ÃÊÇÒªÇóÓкܸߵÄѧÀúÒÔ¼°ÍøÂ硢ͨѶ¼¼ÊõµÄ¾Ñ飬¶ÔÓÚ´ó¶àÊý±¾¿ÆÉúÀ´½²Â·¾¶Ó¦¸Ã½Ï³¤£¬¶øÇÒµ±Ç°ÔËÓªÉ̺ʹóµÄ¹«Ë¾ÆÕ±é²ÉȡѧÉúʵϰµÄ·½Ê½Íê³ÉÍøÂ罨É裬Ï൱ÓÚÁÙʱ¹¤£¬ÎÒ±¾È˲¢²»¿´ºÃ´ó¶àÊý¼ÆËã»úÏà¹Ø×¨ÒµµÄ±¾¿ÆÉúÍùÕâ·½Ãæ·¢Õ¹¡£
µ±ÍøÂçÍê³ÉÆÌÉ裬Ê×ÏÈÔËÓªÉÌ»á¸úÉ豸³§É̶¨ÖÆÖÕ¶Ë¡¢´Ó9Ô·ݿªÊ¼ÖйúÒÆ¶¯OPhone¶¨ÖÆÊÖ»úÒÑ¾Â½ÐøÉÏÊУ¬ÔËÓªÉÌ»á´óÁ¦ÍƹãÖն˵ÄÏúÊÛ£¬½éʱ»áÍÆ³ö¸÷ÖÖ´ÙÏú²ßÂÔ£¬Èç1Ôª»»3gÊÖ»úµÈ¡£Òò´Ë×öǶÈëʽ¿ª·¢µÄÊг¡»áËæ×ÅÔËÓªÉ̵ÄÍÆ¹ã¶ø·¢Õ¹ÆðÀ´£¬¶øÇÒ3GÍøÂçËùÓ°ÏìµÄ²»½ö½öÊÇÊÖ»ú»¹Óи÷ÖÖµçÆ÷¶¼¿ÉÄܳÉΪ3GÍøÂçµÄÒ»²¿·Ö£¬ÕâÑùµÄ»°Èç¹û¶ÔÓ²¼þÉ豸¡¢Ç¶Èëʽ¿ª·¢Ó¦¸ÃÊÇÒ»¸ö½Ï´óµÄÊг¡£¬Èç¹ûÕâ¸öʱºò´Ó¼ÆËã»úϵͳÔÀí¡¢±àÒëÔÀí¡¢¼Æ ......
1.JavaÔÚÐéÄâ»úÉÏÔËÐÐ
JavaÔ´´úÂë²¢²»ÊDZ»±àÒë³ÉΪÆÕͨµÄ»úÆ÷´úÂë¡£¶øÊDZ»·Òë³ÉΪÐéÄâ»ú¿ÉÒÔÖ´ÐеĴúÂë¡£Ò»¸öJava½âÊÍÆ÷×îÖÕÖ´ÐÐÕâЩ´úÂë¡£ÕâÆäÖÐûÓÐÁ¬½ÓµÄ¹ý³Ì£»½âÊÍÔÚÐèÒªµÄʱºò¶¯Ì¬µÄ¼ÓÔØÒ»Ð©Àࣻ
2.JavaÊÇÍêÈ«ÃæÏò¶ÔÏóµÄ
JavaÊÇÒ»ÖÖÍêÈ«ÃæÏò¶ÔÏóµÄÓïÑÔ¡£ÕâÒâζ×ÅÄã¶ÔÈκÎÒ»¸öJava¶ÔÏóËù×öµÄ¶¯×÷¶¼ÊÇͨ¹ýÒ»¸ö·½·¨ÊµÏֵġ£µÚÒ»µã¾ÍÊÇ£¬ÔÙҲûÓÐûÓÐÖ÷º¯ÊýÕâÑùµÄ¹ÂÁ¢µÄ¶«Î÷ÁË¡£È¡¶ø´úÖ®µÄÊÇ£¬Äã±ØÐ뿪ʼÓÃÒ»¸ö¶ÔÏóµÄ¿´·¨¿´´ýÒ»¸ö³ÌÐò£¬Ò»¸öÀàµÄ¶ÔÏó¡£µ«ÊÇÕâ¸ö¶ÔÏóÓÖʲô¶ÔÏóÄØ£¿´ó¶àÊýJava³ÌÐòÖ»ÊǼòµ¥µÄͨ¹ý¼Ì³ÐJava»ù´¡ÀàObjectÀ´ÊµÏÖËùÐèÒªµÄ¶«Î÷£¬µ«ÊÇÄã¿ÉÒÔͨ¹ý´´½¨³ÌÐò»ù´¡ÀàÓÃÓÚ¶à¸öÌØÐÔÏàËÆµÄÓ¦ÓóÌÐòÀ´½Úʡʱ¼ä¡£
ÑϸñµÄÃæÏò¶ÔÏóµÄ¹æ¶¨Òâζ×ÅÀíÓÃÔÓеÄC/C++´úÂë²»¿ÉÒÔÖ±½Ó²»¼Ó¸Ä¶¯µÄʹÓã»ÏµÍ³µ÷ÓÃÒ²ÊÇÕâÑùµÄ¡£C++ÖУ¬Äã¿ÉÒÔͨ¹ýÔÚC++Õý³£µÄÃüÃû¿Õ¼äÍâÉùÃ÷extern"C"À´Ê¹ÓÃÔÓеÄCµÄ¹ý³Ìµ÷Ó㬰üÀ¨ÏµÍ³µ÷Óá£
ÔÚJavaÖУ¬Ö»ÓÐÒ»¸öÀàËÆµÄ°²È«»ØËݵķ½·¨£¬µ«ÊDz¢²»ÊÇÊ®·Ö¼òµ¥µÄ·½·¨¡£Äã±ØÐ붨ÒåÒ»¸ö±¾µØ·½·¨£¬ÆäÄ¿µÄÊÇΪCÓïÑÔÌṩ½Ó¿Ú£¬È»ºóÌṩÁ¬½ÓµÄ½éÖÊ¡£Java»·¾³ÌṩÁËÍê³ÉÕâÖÖÈÎÎñµÄ¹¤¾ß£¬µ«ÊÇÕû¸ö¹ý³ÌºÍC++ÖÐÌṩµÄextern±È΢²»×ãµÀ£¬Íê³ÉʹÓà ......
1.JavaÔÚÐéÄâ»úÉÏÔËÐÐ
JavaÔ´´úÂë²¢²»ÊDZ»±àÒë³ÉΪÆÕͨµÄ»úÆ÷´úÂë¡£¶øÊDZ»·Òë³ÉΪÐéÄâ»ú¿ÉÒÔÖ´ÐеĴúÂë¡£Ò»¸öJava½âÊÍÆ÷×îÖÕÖ´ÐÐÕâЩ´úÂë¡£ÕâÆäÖÐûÓÐÁ¬½ÓµÄ¹ý³Ì£»½âÊÍÔÚÐèÒªµÄʱºò¶¯Ì¬µÄ¼ÓÔØÒ»Ð©Àࣻ
2.JavaÊÇÍêÈ«ÃæÏò¶ÔÏóµÄ
JavaÊÇÒ»ÖÖÍêÈ«ÃæÏò¶ÔÏóµÄÓïÑÔ¡£ÕâÒâζ×ÅÄã¶ÔÈκÎÒ»¸öJava¶ÔÏóËù×öµÄ¶¯×÷¶¼ÊÇͨ¹ýÒ»¸ö·½·¨ÊµÏֵġ£µÚÒ»µã¾ÍÊÇ£¬ÔÙҲûÓÐûÓÐÖ÷º¯ÊýÕâÑùµÄ¹ÂÁ¢µÄ¶«Î÷ÁË¡£È¡¶ø´úÖ®µÄÊÇ£¬Äã±ØÐ뿪ʼÓÃÒ»¸ö¶ÔÏóµÄ¿´·¨¿´´ýÒ»¸ö³ÌÐò£¬Ò»¸öÀàµÄ¶ÔÏó¡£µ«ÊÇÕâ¸ö¶ÔÏóÓÖʲô¶ÔÏóÄØ£¿´ó¶àÊýJava³ÌÐòÖ»ÊǼòµ¥µÄͨ¹ý¼Ì³ÐJava»ù´¡ÀàObjectÀ´ÊµÏÖËùÐèÒªµÄ¶«Î÷£¬µ«ÊÇÄã¿ÉÒÔͨ¹ý´´½¨³ÌÐò»ù´¡ÀàÓÃÓÚ¶à¸öÌØÐÔÏàËÆµÄÓ¦ÓóÌÐòÀ´½Úʡʱ¼ä¡£
ÑϸñµÄÃæÏò¶ÔÏóµÄ¹æ¶¨Òâζ×ÅÀíÓÃÔÓеÄC/C++´úÂë²»¿ÉÒÔÖ±½Ó²»¼Ó¸Ä¶¯µÄʹÓã»ÏµÍ³µ÷ÓÃÒ²ÊÇÕâÑùµÄ¡£C++ÖУ¬Äã¿ÉÒÔͨ¹ýÔÚC++Õý³£µÄÃüÃû¿Õ¼äÍâÉùÃ÷extern"C"À´Ê¹ÓÃÔÓеÄCµÄ¹ý³Ìµ÷Ó㬰üÀ¨ÏµÍ³µ÷Óá£
ÔÚJavaÖУ¬Ö»ÓÐÒ»¸öÀàËÆµÄ°²È«»ØËݵķ½·¨£¬µ«ÊDz¢²»ÊÇÊ®·Ö¼òµ¥µÄ·½·¨¡£Äã±ØÐ붨ÒåÒ»¸ö±¾µØ·½·¨£¬ÆäÄ¿µÄÊÇΪCÓïÑÔÌṩ½Ó¿Ú£¬È»ºóÌṩÁ¬½ÓµÄ½éÖÊ¡£Java»·¾³ÌṩÁËÍê³ÉÕâÖÖÈÎÎñµÄ¹¤¾ß£¬µ«ÊÇÕû¸ö¹ý³ÌºÍC++ÖÐÌṩµÄextern±È΢²»×ãµÀ£¬Íê³ÉʹÓà ......