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

Windows C ¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö

Windows C ¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö
Ïß³ÌʵÖÊÉÏÊdzÌÐòÖеÄÖ´Ðз¾¶¡£Ò²ÊÇ Win32 °²ÅŵÄ×îСִÐе¥Ôª¡£Ḭ̈߳üÀ¨¶ÑÕ»¡¢CPU ¼Ä´æÆ÷µÄ״̬ºÍϵͳ¼Æ»®³ÌÐòÖ´ÐÐÁбíÖеÄÏÿ¸öÏ̹߳²ÏíËùÓнø³ÌµÄ×ÊÔ´¡£
½ø³Ì°üÀ¨Ò»¸ö»ò¶à¸öÏ̺߳ʹúÂë¡¢Êý¾ÝºÍÄÚ´æÖÐµÄÆäËû³ÌÐò×ÊÔ´¡£µäÐ͵ijÌÐò×ÊÔ´ÊÇ´ò¿ªµÄÎļþ¡¢ÐźŵƺͶ¯Ì¬·ÖÅäµÄÄÚ´æ¡£µ±ÏµÍ³¼Æ»®³ÌÐò¸øÓèÆäÖеÄÒ»¸öÏß³ÌÖ´ÐпØÖÆÊ±£¬¼´Ö´ÐгÌÐò¡£¼Æ»®³ÌÐòÈ·¶¨Ó¦µ±ÔËÐÐÄÄЩÏß³ÌÒÔ¼°ËüÃÇÓ¦µ±ºÎʱÔËÐС£½ÏµÍÓÅÏȼ¶µÄÏ߳̿ÉÄܱØÐëµÈµ½½Ï¸ßÓÅÏȼ¶µÄÏß³ÌÍê³ÉÈÎÎñºó²ÅÄÜÔËÐС£ÔÚ¶à´¦ÀíÆ÷¼ÆËã»úÉÏ£¬¼Æ»®³ÌÐò¿ÉÒÔ½«µ¥¸öÏß³ÌÒÆµ½²»Í¬µÄ´¦ÀíÆ÷Òԓƽºâ”CPU ¸ººÉ¡£
½ø³ÌÖеÄÿ¸öÏ̶߳¼¶ÀÁ¢ÔËÐС£³ý·ÇʹÕâЩÏß³ÌÏ໥¿É¼û£¬·ñÔòÏ̷ֱ߳ðÖ´ÐУ¬¶Ô½ø³ÌÖÐµÄÆäËûÏß³ÌÒ»ÎÞËùÖª¡£Ï̹߳²Ïí¹«¹²×ÊÔ´£¬µ«ÊÇ£¬±ØÐëʹÓÃÐźŵƻòÆäËû½ø³Ì¼äµÄͨÐÅ·½·¨Ð­µ÷ËüÃǵŤ×÷¡£
1¡¢¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö
Èç¹ûÔÚÖ´ÐÐ printf º¯ÊýʱÓÐÏ̱߳» Win32 ¼Æ»®³ÌÐò¹ÒÆð£¬Ôò³ÌÐòµÄÆäËûÏß³ÌÖеÄijһ¸ö¿ÉÄܻῪʼִÐС£Èç¹ûµÚ¶þ¸öÏß³ÌÒ²µ÷Óà printf£¬Êý¾Ý¿ÉÄÜ»áË𻵡£Îª±ÜÃâÕâÖÖÇé¿ö£¬±ØÐëÏÞÖÆ¶Ôº¯ÊýʹÓõľ²Ì¬Êý¾ÝµÄ·ÃÎÊ£¬Ò»´ÎÖ»ÔÊÐíÒ»¸öÏ̷߳ÃÎÊÊý¾Ý¡£
ÒòΪÿ¸öÏ߳̾ßÓв»Í¬µÄ¶ÑÕ»£¬ËùÒÔ²»ÐèÒªÐòÁл¯¶Ô»ùÓÚ¶ÑÕ»µÄ£¨×Ô¶¯£©±äÁ¿µÄ·ÃÎÊ¡£Òò´Ë£¬Ö»Ê¹ÓÃ×Ô¶¯£¨¶ÑÕ»£©±äÁ¿µÄº¯ÊýÊÇ¿ÉÖØÈëµÄ¡£±ê×¼ C ÔËÐÐʱ¿â£¨Èç LIBC£©µÄ¿ÉÖØÈ뺯ÊýµÄÊýÁ¿ÓÐÏÞ¡£¶ÔÓÚÐèҪʹÓÃͨ³£²»¿ÉÖØÈëµÄ C ÔËÐÐʱ¿âº¯ÊýµÄ¶àÏ̳߳ÌÐò£¬Ó¦¸ÃʹÓöàÏ߳̿â LIBCMT.LIB À´Éú³É¡£
¶àÏß³Ì C ¿â£ºLIBCMT.LIB ºÍ MSVCRT.LIB
Ö§³Ö¿â LIBCMT.LIB ÊÇ¿ÉÖØÈë¿â£¬ÓÃÓÚ´´½¨¶àÏ̳߳ÌÐò¡£µ÷Óù²ÏíµÄ MSVCRT70.DLL ÖдúÂëµÄ MSVCRT.LIB ¿âÒ²ÊÇ¿ÉÖØÈë¿â¡£µ±Ó¦ÓóÌÐòµ÷ÓÃÕâЩ¿âÖеĺ¯Êýʱ£¬¿ÉÒÔÓ¦ÓÃÏÂÁйæÔò£º
ËùÓпâµ÷ÓñØÐëʹÓà C (__cdecl) µ÷ÓÃÔ¼¶¨£»Ê¹ÓÃÆäËûµ÷ÓÃÔ¼¶¨£¨Èç __fastcall »ò __stdcall£©±àÒëµÄ³ÌÐò±ØÐëʹÓÃËüÃǵ÷ÓõÄÔËÐÐʱ¿âº¯ÊýµÄ±ê×¼°üº¬Îļþ¡£
´«µÝµ½¿âº¯ÊýµÄ±äÁ¿±ØÐëÓÉÖµ´«µÝ»òת»»ÎªÖ¸Õë¡£
ʹÓà LIBCMT.LIB Éú³ÉµÄ³ÌÐò²»ÓëËüÃÇËùµ÷ÓõÄÈκζ¯Ì¬Á´½Ó¿â¹²Ïí C ÔËÐÐʱ¿â´úÂë»òÊý¾Ý¡£
LIBCMT.LIB ºÍ MSVCRT.LIB ÒÔÍâµÄÆäËûÑ¡Ôñ
Èç¹û²»Ê¹Óà LIBCMT.LIB À´Éú³É¶àÏ̳߳ÌÐò£¬±ØÐëÖ´ÐÐÏÂÁвÙ×÷£º
ʹÓñê×¼ C ¿â²¢ÇÒÖ»ÔÊÐí¿ÉÖØÈ뺯Êý¼¯½øÐпâµ÷Óá£
ʹÓà Win32 API Ï̹߳ÜÀíº¯Êý£¬Èç CreateThread¡£
ͨ¹ýʹÓà Win32 ·þÎñ£¨ÈçÐÅºÅµÆºÍ EnterCriticalSection ¼° LeaveCriticalSection º¯Êý£


Ïà¹ØÎĵµ£º

Ïê½âCÅÌWindowsÎļþ¼ÐÀïÖØÒªÎļþµÄ×÷ÓÃ

Ïê½âCÅÌWindowsÎļþ¼ÐÀïÖØÒªÎļþµÄ×÷Óà
ÔÚÕû¸öWindows²Ù×÷ϵͳÖУ¬×îÖØÒªµÄιýÓÚ“Windows”Îļþ¼Ð£¬¶ÔµçÄÔ½øÐÐÈκβÙ×÷¼¸ºõ¶¼Óйء£Á˽âÕâÀï¶ÔÓÚÕÆÎÕÕû¸öϵͳµÄÔË×÷ÓкܴóµÄ×÷Óã¬Èç¹ûÓÐÐËȤ²»·ÁÍùÏ¿´¿´¡£
Ò»¡¢Ó¡ÏóÖеÄWindowsÎļþ¼Ð
“Windows”Îļþ¼Ð¸øÈ˵ĵÚÒ»Ó¡Ïó¾ÍÊÇ´ó¶øÂÒ£¬¸Ð¾õÀïÃæ ......

¹ØÓÚCµÄ˼¿¼


¹ØÓÚCµÄ˼¿¼
Cong Wang
May, 2006
Network Engineering Department
Institute of Post and Telecommunications, Xi'an, P.R.China
ÒýÑÔ
    CÓïÑÔ½áºÏÁË»ã±àµÄËùÓÐÍþÁ¦£¬ËüµÄ³éÏó³Ì¶ÈÅöÇɼÈÂú×ãÁ˳ÌÐòÔ±µÄÒªÇó, ÓÖÈÝÒ×ʵÏÖ¡£ÒòÆä¶ÀÌØµÄÁé»îÐÔºÍÇ¿´óµÄ¿ÉÒÆÖ²ÐÔ£¬ÏµÍ³³ÌÐòÔ±ºÍºÚ¿ÍÃǸüÊǶÔËüÖÓ°® ......

ARM+LinuxÖÐÎÞ·¨ÏìÓ¦ctrl+cÊÇÔõô»ØÊÂ

µ½×îºó»¹ÊÇ×Ô¼º½â¾öÁË£¬µ¼Ö¸ÃÎÊÌâµÄÔ­ÒòÊÇÔÚlinuxÆô¶¯µ½×îºó³öÏÖ£º
/bin/sh: can't access tty; job control turned off
¶ø³öÏָôíÎóµÄÔ­ÒòºÍ½â¾ö·½·¨googleºóÓÐǧ°ÙÖÖ£¬³¢ÊÔÁ˺ܶàÖÖ¶¼Ã»ÓаïÎÒ½â¾öÎÊÌâ¡£
ÏÂÃæÊÇÎÒ×Ô¼ºµÄ½â¾ö·½·¨£º
1. vi /etc/inittab µÚÒ»ÐÐÌí¼Ó
    console::sysinit:/etc/init.d ......

c/c++ static

C++µÄstaticÓÐÁ½ÖÖÓ÷¨£ºÃæÏò¹ý³Ì³ÌÐòÉè¼ÆÖеÄstaticºÍÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖеÄstatic¡£Ç°ÕßÓ¦ÓÃÓÚÆÕͨ±äÁ¿ºÍº¯Êý£¬²»Éæ¼°ÀࣻºóÕßÖ÷Ҫ˵Ã÷staticÔÚÀàÖеÄ×÷Óá£
Ò»¡¢ÃæÏò¹ý³ÌÉè¼ÆÖеÄstatic
1¡¢¾²Ì¬È«¾Ö±äÁ¿
ÔÚÈ«¾Ö±äÁ¿Ç°£¬¼ÓÉϹؼü×Östatic£¬¸Ã±äÁ¿¾Í±»¶¨Òå³ÉΪһ¸ö¾²Ì¬È«¾Ö±äÁ¿¡£ÎÒÃÇÏȾÙÒ»¸ö¾²Ì¬È«¾Ö±äÁ¿µÄÀý×Ó£¬ÈçÏ£º ......

C/C++ extern

externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ