1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
¡¡¡¡int func(x)
¡¡¡¡{
¡¡¡¡int countx = 0;
¡¡¡¡while(x)
¡¡¡¡{
¡¡¡¡countx ++;
¡¡¡¡x = x&(x-1);
¡¡¡¡}
¡¡¡¡return countx;
¡¡¡¡}
¡¡¡¡¼Ù¶¨x = 9999¡£ ´ð°¸£º8
¡¡¡¡Ë¼Â·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
¡¡¡¡2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓÔҪעÒâÄÄЩÎÊÌ⣿
¡¡
¡¡´ð£ºÒýÓþÍÊÇij¸öÄ¿±ê±äÁ¿µÄ“±ðÃû”(alias)£¬¶ÔÓ¦ÓõIJÙ×÷Óë¶Ô±äÁ¿Ö±½Ó²Ù×÷Ч¹ûÍêÈ«Ïàͬ¡£ÉêÃ÷Ò»¸öÒýÓõÄʱºò£¬ÇмÇÒª¶ÔÆä½øÐгõʼ»¯¡£ÒýÓÃÉùÃ÷
Íê±Ïºó£¬Ï൱ÓÚÄ¿±ê±äÁ¿ÃûÓÐÁ½¸öÃû³Æ£¬¼´¸ÃÄ¿±êÔÃû³ÆºÍÒýÓÃÃû£¬²»ÄÜÔٰѸÃÒýÓÃÃû×÷ΪÆäËû±äÁ¿ÃûµÄ±ðÃû¡£ÉùÃ÷Ò»¸öÒýÓ㬲»ÊÇж¨ÒåÁËÒ»¸ö±äÁ¿£¬ËüÖ»±íʾ¸Ã
ÒýÓÃÃûÊÇÄ¿±ê±äÁ¿ÃûµÄÒ»¸ö±ðÃû£¬Ëü±¾Éí²»ÊÇÒ»ÖÖÊý¾ÝÀàÐÍ£¬Òò´ËÒýÓñ¾Éí²»Õ¼´æ´¢µ¥Ôª£¬ÏµÍ³Ò²²»¸øÒýÓ÷ÖÅä´æ´¢µ¥Ôª¡£²»Äܽ¨Á¢Êý×éµÄÒýÓá£
¡¡¡¡3. ½«“ÒýÓÔ×÷Ϊº¯Êý²ÎÊýÓÐÄÄÐ©ÌØµã£¿
¡¡¡¡£¨1£©´«µÝÒýÓøøº¯ÊýÓë´«µÝÖ¸ÕëµÄЧ¹ûÊÇÒ»ÑùµÄ¡£Õâʱ£¬±»µ÷º¯ÊýµÄÐβξͳÉΪÔÀ´Ö÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿»ò¶ÔÏóµÄÒ»¸ö±ðÃûÀ´Ê¹Óã¬ËùÒÔÔÚ±»µ÷º¯ÊýÖжÔÐβαäÁ¿µÄ²Ù×÷¾ÍÊÇ¶ÔÆäÏàÓ¦µÄÄ¿±ê¶ÔÏó£¨ÔÚÖ÷µ÷º¯ÊýÖУ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
¡¡¡¡int func(x)
¡¡¡¡{
¡¡¡¡int countx = 0;
¡¡¡¡while(x)
¡¡¡¡{
¡¡¡¡countx ++;
¡¡¡¡x = x&(x-1);
¡¡¡¡}
¡¡¡¡return countx;
¡¡¡¡}
¡¡¡¡¼Ù¶¨x = 9999¡£ ´ð°¸£º8
¡¡¡¡Ë¼Â·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
¡¡¡¡2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓÔҪעÒâÄÄЩÎÊÌ⣿
¡¡
¡¡´ð£ºÒýÓþÍÊÇij¸öÄ¿±ê±äÁ¿µÄ“±ðÃû”(alias)£¬¶ÔÓ¦ÓõIJÙ×÷Óë¶Ô±äÁ¿Ö±½Ó²Ù×÷Ч¹ûÍêÈ«Ïàͬ¡£ÉêÃ÷Ò»¸öÒýÓõÄʱºò£¬ÇмÇÒª¶ÔÆä½øÐгõʼ»¯¡£ÒýÓÃÉùÃ÷
Íê±Ïºó£¬Ï൱ÓÚÄ¿±ê±äÁ¿ÃûÓÐÁ½¸öÃû³Æ£¬¼´¸ÃÄ¿±êÔÃû³ÆºÍÒýÓÃÃû£¬²»ÄÜÔٰѸÃÒýÓÃÃû×÷ΪÆäËû±äÁ¿ÃûµÄ±ðÃû¡£ÉùÃ÷Ò»¸öÒýÓ㬲»ÊÇж¨ÒåÁËÒ»¸ö±äÁ¿£¬ËüÖ»±íʾ¸Ã
ÒýÓÃÃûÊÇÄ¿±ê±äÁ¿ÃûµÄÒ»¸ö±ðÃû£¬Ëü±¾Éí²»ÊÇÒ»ÖÖÊý¾ÝÀàÐÍ£¬Òò´ËÒýÓñ¾Éí²»Õ¼´æ´¢µ¥Ôª£¬ÏµÍ³Ò²²»¸øÒýÓ÷ÖÅä´æ´¢µ¥Ôª¡£²»Äܽ¨Á¢Êý×éµÄÒýÓá£
¡¡¡¡3. ½«“ÒýÓÔ×÷Ϊº¯Êý²ÎÊýÓÐÄÄÐ©ÌØµã£¿
¡¡¡¡£¨1£©´«µÝÒýÓøøº¯ÊýÓë´«µÝÖ¸ÕëµÄЧ¹ûÊÇÒ»ÑùµÄ¡£Õâʱ£¬±»µ÷º¯ÊýµÄÐβξͳÉΪÔÀ´Ö÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿»ò¶ÔÏóµÄÒ»¸ö±ðÃûÀ´Ê¹Óã¬ËùÒÔÔÚ±»µ÷º¯ÊýÖжÔÐβαäÁ¿µÄ²Ù×÷¾ÍÊÇ¶ÔÆäÏàÓ¦µÄÄ¿±ê¶ÔÏó£¨ÔÚÖ÷µ÷º¯ÊýÖУ ......
C/C++ÖÐStaticµÄ×÷ÓÃÏêÊö
Ò».ÔÚCÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;£¬ÆäʵËüµÄ×÷ÓÃÓÐÈýÌõ¡£
£¨1£©ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c¡£
ÏÂÃæÊÇa.cµÄÄÚÈÝ
char a = 'A'; // global variable
void msg()
{
printf("Hello\n");
}
ÏÂÃæÊÇmain.cµÄÄÚÈÝ
int main(void)
{
extern char a; // extern variable must be declared before use
printf("%c ", a);
(void)msg();
return 0;
}
³ÌÐòµÄÔËÐнá¹ûÊÇ£º
A Hello
Äã¿ÉÄÜ»áÎÊ£ºÎªÊ²Ã´ÔÚa.cÖж¨ÒåµÄÈ«¾Ö±äÁ¿aºÍº¯ÊýmsgÄÜÔÚmain.cÖÐʹÓã¿Ç°ÃæËµ¹ý£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ£¬ÆäËüµÄÔ´ÎļþÒ²ÄÜ·ÃÎÊ¡£´ËÀýÖУ¬aÊÇÈ«¾Ö±äÁ¿£¬msgÊǺ¯Êý£¬²¢ÇÒ¶¼Ã»ÓмÓstaticǰ׺£¬Òò´Ë¶ÔÓÚÁíÍâµÄÔ´Îļþmain.cÊǿɼûµÄ¡£
Èç¹û¼ÓÁËstatic£¬¾Í»á¶ÔÆäËüÔ´ÎļþÒþ²Ø¡£ÀýÈçÔÚaºÍmsgµÄ¶¨Òåǰ¼ÓÉÏstatic£¬main.c¾Í¿´²»µ½ËüÃÇÁË¡£ÀûÓÃÕâÒ»ÌØÐÔ¿ÉÒÔÔÚ²»Í¬µÄÎļþÖж¨ÒåͬÃûº¯ÊýºÍͬÃû±äÁ¿£¬¶ø²»±Øµ£ÐÄÃüÃû³åÍ»¡£Static¿ÉÒÔÓÃ× ......
C/C++ÖÐStaticµÄ×÷ÓÃÏêÊö
Ò».ÔÚCÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;£¬ÆäʵËüµÄ×÷ÓÃÓÐÈýÌõ¡£
£¨1£©ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c¡£
ÏÂÃæÊÇa.cµÄÄÚÈÝ
char a = 'A'; // global variable
void msg()
{
printf("Hello\n");
}
ÏÂÃæÊÇmain.cµÄÄÚÈÝ
int main(void)
{
extern char a; // extern variable must be declared before use
printf("%c ", a);
(void)msg();
return 0;
}
³ÌÐòµÄÔËÐнá¹ûÊÇ£º
A Hello
Äã¿ÉÄÜ»áÎÊ£ºÎªÊ²Ã´ÔÚa.cÖж¨ÒåµÄÈ«¾Ö±äÁ¿aºÍº¯ÊýmsgÄÜÔÚmain.cÖÐʹÓã¿Ç°ÃæËµ¹ý£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ£¬ÆäËüµÄÔ´ÎļþÒ²ÄÜ·ÃÎÊ¡£´ËÀýÖУ¬aÊÇÈ«¾Ö±äÁ¿£¬msgÊǺ¯Êý£¬²¢ÇÒ¶¼Ã»ÓмÓstaticǰ׺£¬Òò´Ë¶ÔÓÚÁíÍâµÄÔ´Îļþmain.cÊǿɼûµÄ¡£
Èç¹û¼ÓÁËstatic£¬¾Í»á¶ÔÆäËüÔ´ÎļþÒþ²Ø¡£ÀýÈçÔÚaºÍmsgµÄ¶¨Òåǰ¼ÓÉÏstatic£¬main.c¾Í¿´²»µ½ËüÃÇÁË¡£ÀûÓÃÕâÒ»ÌØÐÔ¿ÉÒÔÔÚ²»Í¬µÄÎļþÖж¨ÒåͬÃûº¯ÊýºÍͬÃû±äÁ¿£¬¶ø²»±Øµ£ÐÄÃüÃû³åÍ»¡£Static¿ÉÒÔÓÃ× ......
(ת)C/C++ ºêÏê½â ÊÕ²Ø
ÖÚ¶à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_strin ......
(ת)C/C++ ºêÏê½â ÊÕ²Ø
ÖÚ¶à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_strin ......
ѧϰCÓïÑÔʱ£¬ÓÃ×Ö·û´®µÄº¯ÊýÀýÈçstpcpy()¡¢strcat()¡¢strcmp()µÈ£¬Òª°üº¬Í·Îļþstring.h
ѧϰC++ºó£¬C++ÓÐ×Ö·û´®µÄ±ê×¼Ààstring£¬stringÀàÒ²Óкܶ෽·¨£¬ÓÃstringÀàʱҪÓõ½string.hÍ·Îļþ¡£
ÎÒÏÖÔÚ¿´vcµÄÊéÉÏÒ²ÓÐCStringÀ࣬Õâ¸öÒª°üº¬Ê²Ã´£¬ÔõôÓÃ?
ÎÒÏÖÔÚºÜÃÔ»ó£¬ÕâÁ½¸ö string.hÓÐÊ²Ã´Çø±ð¡£ÊÇÔõô»ØÊÂ
ÇÒ¿´Ò»£º
ÕâÁ½¸öÒ»¸öÊDZê×¼C¿âµÄ,¶¨ÒåÁËһЩ×Ö·û´®µÄ´¦Àíº¯Êý.Ò»¸öÊDZê×¼C++¿âµÄ,¶¨ÒåÁ˱ê×¼C++µÄstd::stringÀà.
ÒªÓÃÕâ¸öÀàÒª°üº¬Í·Îļþ<string>...ÈçÏÂ;
#include <string>
using namespace std;//¹ØÓÚÃû×Ö¿Õ¼äÓÐÐËȤ×Ô¼º²éÈ¥,Ò»°ãÓñê×¼¿âÕâ¾ä¾ÍÐÐÁË
µ±È»±ê×¼C¿âÒ²ÊDZê×¼C++¿âµÄÒ»²¿·Ö,ÒªÓñê×¼C¿âÀïµÄ´¦Àíº¯Êý...ÈçÏÂ:
#include <string.h>//ËùÒÔÄãÓÃÕâ¾ä°üº¬µÄÊDZê×¼C¿âµÄÍ·Îļþ
...»òÕßÓÃÈçÏÂC++·ç¸ñµÄ,ËüÃÇÊǵȼ۵Ä,²»¹ý±È½ÏÍÆ¼ö:
#include <cstring>
using namespace std;
CStringÀàÊÇMFCµÄÀà,...²»¸ãWindows MFC±à³ÌÓò»µ½
ÇÒ¿´¶þ£º
#include < string .h >
void main()
{
string aaa = " abcsd d " ;
printf( " looking for abc from abcdecd %s\n " ,
(strcmp(aaa, " abc " )) ? " Found " : " N ......
ѧϰCÓïÑÔʱ£¬ÓÃ×Ö·û´®µÄº¯ÊýÀýÈçstpcpy()¡¢strcat()¡¢strcmp()µÈ£¬Òª°üº¬Í·Îļþstring.h
ѧϰC++ºó£¬C++ÓÐ×Ö·û´®µÄ±ê×¼Ààstring£¬stringÀàÒ²Óкܶ෽·¨£¬ÓÃstringÀàʱҪÓõ½string.hÍ·Îļþ¡£
ÎÒÏÖÔÚ¿´vcµÄÊéÉÏÒ²ÓÐCStringÀ࣬Õâ¸öÒª°üº¬Ê²Ã´£¬ÔõôÓÃ?
ÎÒÏÖÔÚºÜÃÔ»ó£¬ÕâÁ½¸ö string.hÓÐÊ²Ã´Çø±ð¡£ÊÇÔõô»ØÊÂ
ÇÒ¿´Ò»£º
ÕâÁ½¸öÒ»¸öÊDZê×¼C¿âµÄ,¶¨ÒåÁËһЩ×Ö·û´®µÄ´¦Àíº¯Êý.Ò»¸öÊDZê×¼C++¿âµÄ,¶¨ÒåÁ˱ê×¼C++µÄstd::stringÀà.
ÒªÓÃÕâ¸öÀàÒª°üº¬Í·Îļþ<string>...ÈçÏÂ;
#include <string>
using namespace std;//¹ØÓÚÃû×Ö¿Õ¼äÓÐÐËȤ×Ô¼º²éÈ¥,Ò»°ãÓñê×¼¿âÕâ¾ä¾ÍÐÐÁË
µ±È»±ê×¼C¿âÒ²ÊDZê×¼C++¿âµÄÒ»²¿·Ö,ÒªÓñê×¼C¿âÀïµÄ´¦Àíº¯Êý...ÈçÏÂ:
#include <string.h>//ËùÒÔÄãÓÃÕâ¾ä°üº¬µÄÊDZê×¼C¿âµÄÍ·Îļþ
...»òÕßÓÃÈçÏÂC++·ç¸ñµÄ,ËüÃÇÊǵȼ۵Ä,²»¹ý±È½ÏÍÆ¼ö:
#include <cstring>
using namespace std;
CStringÀàÊÇMFCµÄÀà,...²»¸ãWindows MFC±à³ÌÓò»µ½
ÇÒ¿´¶þ£º
#include < string .h >
void main()
{
string aaa = " abcsd d " ;
printf( " looking for abc from abcdecd %s\n " ,
(strcmp(aaa, " abc " )) ? " Found " : " N ......
×î½üÒ»Ö±Ñо¿Ò»¸ö¶Ô¸öÈ˶øÑÔºÜÓмÛÖµµÄÒ»¸öLIB¿âµÄÄæÏò¡£ÔÚ½ñÌìϰàºóͻȻÁé¸ÐÉÁÏÖ£¬Õâ¸ö¶Ï¶ÏÐøÐøÄæÁ˽ӽüÒ»ÖܵĺËÐĹÜÀíÀà¡£ÖÕÓÚÔÚ½ñÌì¸øÄæÍêÁË¡£ÔÚ×îºóÒ»¸öº¯ÊýÀÅöµ½ÁË֮ǰ»ù±¾Ã»ÓÐÓùýµÄÒ»ÌõÖ¸Áî¡££¨ºÇºÇ£¬¸ßÊÖ¼ûЦÁË£¡£©µ±È»¹â¿´µ¥¾äµÄ»ã±àÖ¸ÁÊÇûÓа취¿´³ö¾ßÌåµÄ×÷Óõ쬶øÇÒ»¹ºÜ¿ÉÄÜ»áÈÏΪÔ×÷Õß±¾À´¾ÍÊÇÓûã±àÀ´ÊµÏֵģ¡ºÇºÇ£¬ÏȲ»·Ï»°£¬ÏÈÌù³ö·´»ã±à´úÂëÒ»¶ÃΪ¿ì£º
mov dword ptr [b],64h // int b
xor eax,eax
cmp dword ptr [b],0
setg al
sub eax,1
and eax,64h
add eax,0C8h
mov dword ptr [a],eax // int a
& ......
×î½üÒ»Ö±Ñо¿Ò»¸ö¶Ô¸öÈ˶øÑÔºÜÓмÛÖµµÄÒ»¸öLIB¿âµÄÄæÏò¡£ÔÚ½ñÌìϰàºóͻȻÁé¸ÐÉÁÏÖ£¬Õâ¸ö¶Ï¶ÏÐøÐøÄæÁ˽ӽüÒ»ÖܵĺËÐĹÜÀíÀà¡£ÖÕÓÚÔÚ½ñÌì¸øÄæÍêÁË¡£ÔÚ×îºóÒ»¸öº¯ÊýÀÅöµ½ÁË֮ǰ»ù±¾Ã»ÓÐÓùýµÄÒ»ÌõÖ¸Áî¡££¨ºÇºÇ£¬¸ßÊÖ¼ûЦÁË£¡£©µ±È»¹â¿´µ¥¾äµÄ»ã±àÖ¸ÁÊÇûÓа취¿´³ö¾ßÌåµÄ×÷Óõ쬶øÇÒ»¹ºÜ¿ÉÄÜ»áÈÏΪÔ×÷Õß±¾À´¾ÍÊÇÓûã±àÀ´ÊµÏֵģ¡ºÇºÇ£¬ÏȲ»·Ï»°£¬ÏÈÌù³ö·´»ã±à´úÂëÒ»¶ÃΪ¿ì£º
mov dword ptr [b],64h // int b
xor eax,eax
cmp dword ptr [b],0
setg al
sub eax,1
and eax,64h
add eax,0C8h
mov dword ptr [a],eax // int a
& ......
Netbeans¾³£»á³öÏÖд´úÂëµÄʱºò´úÂëÌáʾ³ö²»À´µÄÇé¿ö£¬ÉõÖÁÊÇ´úÂë¸ù±¾Ã»´í£¬±àÒë¶¼ÄÜͨ¹ý£¬µ«ÊÇ´úÂë°ïÖú¾ÍÌáʾÎÒ˵ÎÒÓдíÎó£¬ÔÚÏÂÃæ»ÌõºìÏߣ¡¶øÕâЩÎÊÌâEclipseûÓгöÏÖ¹ý£¡¶øÇÒEclipseÓÐרÃŵÄCDT²å¼þ¿ª·¢Ð¡×飬ºÜºÃÇ¿´ó¡£ ......
Netbeans¾³£»á³öÏÖд´úÂëµÄʱºò´úÂëÌáʾ³ö²»À´µÄÇé¿ö£¬ÉõÖÁÊÇ´úÂë¸ù±¾Ã»´í£¬±àÒë¶¼ÄÜͨ¹ý£¬µ«ÊÇ´úÂë°ïÖú¾ÍÌáʾÎÒ˵ÎÒÓдíÎó£¬ÔÚÏÂÃæ»ÌõºìÏߣ¡¶øÕâЩÎÊÌâEclipseûÓгöÏÖ¹ý£¡¶øÇÒEclipseÓÐרÃŵÄCDT²å¼þ¿ª·¢Ð¡×飬ºÜºÃÇ¿´ó¡£ ......