C/C++µ¥Ôª²âÊÔÀíÂÛ¾«Òª£¨Ê®£©
3.3 ¸ßЧÂÊ¿ª·¢
ÕâÒ»½Ú½éÉÜÀûÓõ¥Ôª²âÊÔʵÏÖ¸ßЧÂÊ¿ª·¢¡£µ¥Ôª²âÊÔ¿ÉÒÔÔÚ¼¸¸ö·½ÃæÌá¸ß¿ª·¢Ð§ÂÊ£º²âÊÔÇý¶¯¿ª·¢¡¢¿ÉÊÓ±à³Ì¡¢¿ìËÙÅÅ´í¡¢ºÍÌá¸ßµ÷ÊÔЧÂÊ¡£
²âÊÔÇý¶¯¿ª·¢
Ö¸Ïȱàд²âÊÔ´úÂ룬ȻºóÔÙ±àд²úÆ·´úÂëʹ²âÊÔͨ¹ý£¬ÓкܶàÏà¹ØÎÄÕºÍÊé¼®½éÉÜÕâ·½ÃæÖªÊ¶£¬ÏÞÓÚ±à·ù£¬ÕâÀï¾Í²»½²ÁË¡£
¿ÉÊÓ±à³Ì
ÊDzâÊÔÇý¶¯¿ª·¢µÄÉý¼¶ºÍ¸Ä½ø¡£Èç¹û±ß¿ª·¢±ß²âÊÔ£¬ÄÇô£¬¹¤¾ß¿ÉÒÔ½«³ÌÐòµÄÐÐΪչʾ³öÀ´£¬³ÌÐòµÄÐÐΪ£¬¾ÍÊÇʲôÊäÈëÏÂÖ´ÐÐÁËÄÄЩ´úÂë²úÉúÁËʲôÊä³ö¡£Ò»±ßд´úÂ룬¿ÉÒÔÒ»±ß¿´µ½³ÌÐòÐÐΪ£¬Õâ¾ÍÊÇ¿ÉÊÓ±à³Ì¡£¿ÉÊÓ£¬ÊÇÖ¸³ÌÐòÐÐΪ¿ÉÊÓ£¬²»ÊÇ¿ÉÊÓ»¯¿ª·¢»·¾³ËùÖ¸µÄ½çÃæ¿ÉÊÓ¡£
¿ÉÊÓ±à³ÌÔÚ½éÉܵ¥Ôª²âÊÔµÄÐ§ÒæÊ±ÒѾ½²¹ýÁË£¬ÕâÀï²»ÔÙÏêϸ½éÉÜ¡£ÎÒÃdzõѧCÓïÑÔ±à³Ìʱ£¬¶¼ÊÇдһЩСËã·¨£¬Ò»±ßдһ±ßÔÚ¿ØÖÆÌ¨´òӡһЩÊý¾Ý£¬¿´¿´³ÌÐò×öÁËЩʲô£¬ÕâÊǺܸßЧºÍÇáËɵıà³Ì·½Ê½£¬µ«ÔÚʵ¼ÊµÄÏîÄ¿ÖУ¬ÓÈÆäÊDz¢Ðпª·¢µÄ´óÏîÄ¿ÖУ¬ÕâÖÖ·½Ê½¾Í²»ÏÖʵÁË¡£¿ÉÊÓ±à³Ì¿ÉÒÔÈÃÎÒÃÇÖØ·µÐ¡Ëã·¨±à³Ì¡£
¿ìËÙÅŲé´íÎó
Èç¹û¹¤¾ßÄܽ«Ã¿¸öÓÃÀýµÄÊäÈë/Êä³ö¼°ËùÖ´ÐеĴúÂëÏÔʾ³öÀ´£¬ÄÇô£¬¶Ô±ÈÊäÈëÓëÊä³ö£¬ÒÔ¼°µ±Ç°ÊäÈëËùÖ´ÐеĴúÂ룬ºÜÈÝÒ×ÕÒ³ö´íÎóÔÒò¡£
Ìá¸ßµ÷ÊÔЧÂÊ
ÓÐÁ˵¥Ôª²âÊÔ£¬ÌرðÊÇÔÚ¿ÉÊÓ±à³ÌģʽÏ¿ª·¢£¬´ó¶àÊýµ÷ÊÔ¶¼²»ÐèÒªÁË£¬µ«Èç¹ûÐèÒªµ÷ÊÔ£¬µ¥Ôª²âÊÔ¹¤¾ß»¹¿ÉÒÔÔöÇ¿µ÷ÊÔÆ÷¹¦ÄÜ¡£ÀýÈ磬²âÊÔʱ·¢ÏÖÁË´íÎó¿ÉÒÔÖ±½Ó·¢Æðµ÷ÊÔ£¬¿ÉÒÔ¸ù¾Ý´íÎó×Ô¶¯Ñ¡Ôñ¶ÔÓ¦µÄµ÷ÊÔÊäÈë¡£Ò²¿ÉÒÔÖ§³ÖÎÞÏÞÖÆµÄºóÍ˺ÍÖØ¸´¡£Ò»°ãµÄµ÷ÊÔÆ÷£¬ÊDz»Ö§³ÖÖ±½ÓºóÍ˵쬵÷ÊÔʱÈç¹û´í¹ýÁ˹ؼüÓï¾ä£¬Ö»ºÃÖØÀ´£¬µ¥Ôª²âÊÔ¹¤¾ß¿ÉÒÔÈÃͬÑùµÄµ÷ÊÔÆ÷£¬ÊµÏÖºóÍ˺ÍÖØ¸´¡£µ¥Ôª²âÊÔ¹¤¾ß»¹¿ÉÒÔÖ§³Öµ÷ÊÔ¹ý³ÌÖеÄÇл»ÊäÈ룬ÒÔ±ã¶Ô±È²»Í¬ÊäÈëϳÌÐòµÄÐÐΪ¡£
Ïà¹ØÎĵµ£º
¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ ÊÕ²Ø
±¾ÎÄ»ùÓÚdebian-40r0(ÄÚºË2.6.18)½éÉÜÒ»ÏÂÈçºÎÔÚÒ»¸ö±ê׼ϵͳÖй¹½¨Linux CµÄ»ù±¾±à³Ì¿ª·¢»·¾³¡£
Ò»¸öÍêÕûµÄ¿ª·¢»·¾³Ö÷Òª°üÀ¨Ëĸö²¿·Ö£º±ê×¼C¿â¡¢Í·Îļþ¡¢¹¤¾ßÁ´¡¢±à¼Æ÷¡¢°ïÖúÎĵµ£¬ÏÂÃæÒÀ´Î½éÉÜ¡£
±ê×¼C¿âglibc
glibcÊÇgnu·¢²¼µÄlibc¿â£¬¼´cÔËÐп⡣glibcÊÇlinuxϵͳÖÐÄÚºËÖ ......
/*
*Ëã·¨ÔÀí£º½«Í¼G Öеı߰´È¨Êý´ÓСµ½´óÖðÌõ¿¼²ì,
* °´²»¹¹³ÉȦµÄÔÔò¼ÓÈëµ½TÖÐ(ÈôÓÐÑ¡Ôñʱ, ²»Í¬µÄÑ¡
* Ôñ¿ÉÄܻᵼÖÂ×îºóÉú³ÉÊ÷µÄȨÊý²»Í¬), Ö±µ½
* q(T) = p(G)-1Ϊֹ, ¼´ T µÄ±ßÊý = G µÄ¶¥µã1 Ϊֹ.
*Ëã·¨ÖÐÎÞȦÐÔµÄÅж¨±È½ÏÂé·³£¬Ó¦¸ÃÓñê¼Ç·¨×îºÃ£¬
*¶Ô¸÷¸ö·ÖÖ§µÄ¶¥µã±êºÅ¡£
*ÎÒû×Ðϸ¿ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
main()
{
FILE *fp;
if ( (fp = fopen( "c:\\a.txt", "r" )) == NULL ) printf("ERROR!\n");
int tmp[MAXSIZE];
int i;
for ( i=0; i<MAXSIZE; i++ )
{
tmp[i] = 0; ......