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

ÎÒµÄCʵ¼ù(8)£º×ÖËÑË÷

  ×ÖËÑË÷¾ÍËÑË÷Ò»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ¡£ÊµÏÖÈçÏ£º
/* wsearch.c£º×ÖËÑË÷ */
/* ´Ó×ó±ßѰÕÒµÚÒ»¸ö0×Ö½Ú£ºµÚ0(1,2,3)¸ö×Ö½ÚÊÇ0ʱ£¬·µ»Ø0(1,2,3)£¬·ñÔò·µ»Ø4 */
int zbytel(unsigned x){
if((x>>24)==0) return 0;
else if((x & 0x00ff0000)==0) return 1;
else if((x & 0x0000ff00)==0) return 2;
else if((x & 0x000000ff)==0) return 3;
else return 4;
}
/* ·½°¸2£ºÎÞ·ÖÖ§´úÂ룬Óõ½ÁËnlzÖ¸Áî */
int zbytel_2(unsigned x){
int nlz(unsigned); /* ǰÏòÉùÃ÷ */
unsigned y;
y=(x & 0x7f7f7f7f)+0x7f7f7f7f; /* °Ñ0×Ö½Ú±ä³É0x7f£¬·Ç0×Ö½Ú×î¸ßλ±ä³É1 */
y=~(y | x | 0x7f7f7f7f); /* °Ñ0×Ö½Ú±ä³É0x80£¬·Ç0×Ö½Ú±ä³É0x00 */
return nlz(y)>>3; /* µÚ0(1,2,3)¸ö×Ö½ÚÊÇ0ʱ£¬yµÄǰµ¼ÓÐ0(8,16,24)¸ö0£¬¹Ê·µ»Ø0(1,2,3)£¬·ñÔò·µ»Ø4 */
}
/* ´Ó×ó±ßѰÕÒµÚÒ»¸ö³¤ÎªnµÄÁ¬Ðø1λ´®£¬·µ»ØÆäλÖ㨴Ó0¿ªÊ¼±àºÅ£© */
int ffstr1(unsigned x, int n){
int nlz(unsigned); /* ǰÏòÉùÃ÷ */
int k,p;
p=0; /* ³õʼ»¯·µ»ØµÄλÖà */
while(x!=0){
k=nlz(x);
x=x<<k; /* Ìø¹ýǰµ¼µÄ0 */
p=p+k;
k=nlz(~x); /* ¼ÆËãǰµ¼1µÄ¸öÊý */
if(k>=n)
return p; /* Èôǰµ¼1µÄ¸öÊý×ã¹»£¬ÔòÕÒµ½£¬Ö±½Ó·µ»ØÆäλÖà */
x=x<<k; /* ·ñÔòÁ¬ÐøµÄ1²»×ãn¸ö£¬Ìø¹ýËüÃÇ£¬¼ÌÐøÏòǰÕÒ */
p=p+k;
}
return 32; /* ûÕÒµ½Ôò·µ»Ø32 */
}
/* ¼ÆËãǰµ¼0µÄ¸öÊý */
int nlz(unsigned x){
int n;
if(x==0) return (32);
n=1;
/* Ó÷ÖÖβßÂÔ */
if((x>>16)==0){ /* x<=0x0000ffffʱ */
n=n+16;
x=x<<16; /* ÒÆ³ýǰµ¼µÄ16¸ö0 */
}
if((x>>24)==0){ /* x<=0x00ffffffʱ */
n=n+8;
x=x<<8; /* ÒÆ³ýǰµ¼µÄ8¸ö0 */
}
if((x>>28)==0){ /* x<=0x0fffffffʱ */
n=n+4;
x=x<<4; /* ÒÆ³ýǰµ¼µÄ4¸ö0 */
}
if((x>>30)==0){ /* x<=0x3fffffffʱ */
n=n+2;
x=x<<2; /* ÒÆ³ýǰµ¼µÄ2¸ö0 */
}
return n-(x>>31); /* ×¢Òân³õʼʱΪ1£¬Èç¹ûÒÆ³ýǰµ¼0ºóµÄx×î¸ßλΪ0£¬ÔònÇ¡ºÃ¼ÆËãÁËÕâ¸ö0£»
Èç¹û×î¸ßλΪ1£¬ÔòûÓжîÍâµÄǰµ¼0£¬n±ØÐëÒª¼õÈ¥¶à³öµÄ1 */
}


Ïà¹ØÎĵµ£º

ÀûÓÃÊÀ½ç×îС×î¿ìµÄC±àÒëÆ÷´òÔì×Ô¼ºµÄC±à¼­Æ÷

ÀûÓÃÊÀ½ç×îС×î¿ìµÄC±àÒëÆ÷´òÔì×Ô¼ºµÄC±à¼­Æ÷
¼ò½étinycc ÊÀ½çÉÏ×îС±àÒëËÙ¶È×î¿ìµÄCÓïÑÔ±àÒëÆ÷ ¸÷ÏÄܽø¹Ù·½È¥¿´
TCC¹Ù·½ÏÂÔØµØÖ·£ºhttp://ftp.twaren.net/Unix/NonGNU/tinycc/tcc-0.9.25-win32-bin.zip
ÎÒÖªµÀ ´ó¼Ò»ù±¾É϶¼ÓùýWIN—TC°É ÌØ±ðÊÇÉϹý´óѧµÄ CÓïÑÔÈëÃÅʱÓõͼÊÇ
ËûµÄ²Ù×÷½çÃæÈçͼ
¹þ¹þ ¿´ÏÂÍ ......

visual assist cÅ̿ռäÕ¼ÓõÄÌ«¶àÁË £­5G¿Õ¼ä


±àÒë³ÌÐò£¬ÌáʾCÅ̿ռ䲻×㣬ÎÒÇåÀícÅ̺ó£¬É¾³ýûÓõÄÈí¼þºó£¬·¢Ïֿռ仹ÊǺÜÉÙ£¬½ö½öÌáÉý200M×óÓÒ£¬ºÜÊÇÆæ¹Ö£¬Îҵÿռ䶼±»Ê²Ã´Õ¼È¥ÁËÄØ£¿
¾­¹ý²é¿´£¬·¢ÏÖC:\Documents and Settings\tangh\Application Data\VisualAssistĿ¼¾¹È»ÓÐ5G¶à£¬ÎÒµÄÂèѽ£¬ÉÏÍøÒ»²é£¬ÍøÉÏ˵Ëû˵CÅÌɱÊÖ£¬¸É´àÕ¤ÁË£¬Ã»ÓÐʲôӰÏ죡
......

extern "C"Ïà¹ØµÄһЩϸ½ÚÎÊÌâ

×÷ÕߣºÊ¯Í·
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
    externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ ......

cÍ·Îļþ×÷ÓÃ

POSIX±ê×¼¶¨ÒåµÄÍ·Îļþ
<dirent.h>        Ŀ¼Ïî
<fcntl.h>         Îļþ¿ØÖÆ
<fnmatch.h>    ÎļþÃûÆ¥ÅäÀàÐÍ
<glob.h>    ·¾¶ÃûģʽƥÅäÀàÐÍ
<grp.h>    ......

linuxÄÚºËÒÆÖ²s3c2410£¬ÒÆÖ²Õýʽ¿ªÊ¼2

ÄÚºËÆô¶¯µÄÏÖÔÚÒѾ­ÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
    printk(KERN_NOTICE);
    printk(linux_banner);
    setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboo ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ