C Runtime LibraryÀ´Àú, API, MFC, ATL¹Øϵ
CRTÔÏÈÊÇÖ¸Microsoft¿ª·¢µÄC Runtime Library£¬ÓÃÓÚ²Ù×÷ϵͳµÄ¿ª·¢¼°ÔËÐС£ºóÀ´ÔÚ´Ë»ù´¡ÉÏ¿ª·¢ÁËC++
Runtime Library£¬ËùÒÔÏÖÔÚCRTÊÇÖ¸Microsoft¿ª·¢µÄC/C++ Runtime
Library¡£ÔÚVCµÄCRT/SRCĿ¼Ï£¬¿ÉÒÔ¿´µ½CRTµÄÔ´Â룬²»½öÓÐCµÄ£¬Ò²ÓÐC++µÄ¡£
CRTÔÏȵÄÄ¿µÄ¾ÍÊÇÖ§³Ö²Ù×÷ϵͳµÄÔËÐС£ÒòΪWindows²Ù×÷ϵͳ³ý»ã±à²¿·ÖÍ⣬¶¼ÊÇÓÃC/C++±àдµÄ£¬ËùÒÔÄں˼°Ðí¶à¹Ø¼ü·þÎñ¶¼ÔÚCRTÉÏÔËÐÐ
£¨ËüÃǶ¼²ÉÓÃdll¼¼Êõ¶¯Ì¬Á´½Ó£©¡£´ËÍ⣬ÓÃ
VC±àдµÄC/C++³ÌÐòÒ²Óõ½ËüÃÇ£¨¿ÉÒÔ¶¯Ì¬Á´½Ó£¬Ò²¿ÉÒÔ¾²Ì¬Á´½Ó£¬Ç°ÕßÔËÐÐʱÐèҪϵͳÖÐÒÑ°²×°CRTµÄdll£¬ºóÕß²»ÐèÒª£©¡£¿ÉÒÔ˵£¬CRT¾ÍÊÇ
Microsoft±àдWindowsʱʹÓõĵͲãÀà¿â¡£È»ºó£¬ËüÓÖ±»µ±×÷C++±ê×¼¿âµÄÒ»¸öʵÏÖ°üº¬ÔÚÁËVCϵÁÐÖУ»ÎÒÃÇÔÚVCÖÐʹÓõÄC++±ê×¼¿â£¬
Æäʵ¾ÍÊÇCRTµÄÒ»¸öÕæ×Ó¼¯£¨ÉÙÁËC++±ê×¼Ëù²»°üº¬µÄ´úÂ룬ÌرðÊÇ´óÁ¿µÄµÍ²ãC´úÂ룩
ÖÁÓÚCRTÓëWINDOWS
APIµÄ¹Øϵ£¬ÓëÐí¶àÈËÀí½âµÄÏà·´£¬WINDOWS
API×÷ΪWindowsµÄÒ»²¿·Ý£¬ÊÇÔÚCRTµÄ»ù´¡ÉÏ¿ª·¢µÄ¡£Äã¿ÉÒÔ½«Windows£¨¼°ÆäAPI£©¿´×÷Ò»¸öÏîÄ¿£¬¶øÕâ¸öÏîĿʹÓõÄÓïÑÔÊÇ»ã±à/C/C
++£¬Ê¹ÓõÄÀà¿â¾ÍÊÇCRT¡£ËùÒÔ£¬À뿪CRT£¬Windows APIÒ²ÎÞ·¨Ê¹Óõġ£
C++±ê×¼£¬ÊÇC++µÄͨÓÃÓïÑԹ淶£¬Ö¸µ¼ËùÓÐC
++ʹÓÃÕß¡£¶øCRTµÄÆäÖÐÒ»²¿·Ö¿ÉÒÔ¿´×÷ÊÇMicrosoft¿ª·¢µÄÒ»¸öC++±ê×¼¿âʵÏÖ£¨ÆäʵҲȷʵÈç´Ë£¬MicrosoftÔÚ¿ª·¢CRTʱ£¬²Î¿¼ÁË
ÕýÔÚ±ê×¼»¯¹ý³ÌÖеÄC++ÓïÑԹ淶£©¡£ËüÓëC++±ê×¼ÓÐÒ»¶¨µÄ²î¾à£¬²¿·ÖÔÒòÊÇ£¬ÔÚC++ûÓÐÍê³É±ê×¼»¯Ö®Ç°£¬CRTÒѾ¿ª·¢²¢Í¶ÈëʹÓÃÁË¡£ÎªÁËÏòϼæÈÝ
ÒÔÇ°µÄWindows´úÂ룬ÔçÆÚµÄCRTÓëC++±ê×¼×ÜÓÐÒ»¶¨µÄ²î¾à¡£µ«ÊÇCRTȷʵÔÚ²»¶ÏµÄ¸Ä½øÖС£VC6´øµÄCRTÓëC++±ê×¼»¹ÓбȽϴóµÄ²î¾à£¬¶ø
VC8µÄ¼¸ºõÍêÈ«·ûºÏC++±ê×¼ÁË¡£
×ÛÉÏ£¬CRT£¨Microsoft's C/C++ Runtime
Library£©µÄÒ»¸öÕæ×Ó¼¯£¨Ö÷ÒªÊÇC++ Runtime
Library£©ÊÇÒ»¸ö·ûºÏ£¨»òÖÁÉÙÊÇÆóͼ·ûºÏ£©C++±ê×¼µÄC++¿â¡£¶øWindows
API£¨ÒÔ¼°WindowsµÄÆäËûÐí¶à²¿·Ö£©¶¼ÊÇÔÚCRTµÄ»ù´¡ÉÏ¿ª·¢µÄ¡£
³ýÁËÒÔÉϽéÉܵģ¬ÔÚʹÓÃCRTµÄ¹ý³ÌÖУ¬»¹ÐèÒªÁ˽âµÄÊÇ£º
1¡¢CRTµÄһЩ×é³É²¿·ÖÒ²µ÷ÓÃÁËWindows API¡£Õâ¿ÉÄܾÍÊÇÓÐÈËÈÏΪCRTÊǽ¨Á¢µÄWindows
API»ù´¡ÉϵÄÔÒò¡£µ«ÊÇʵ¼ÊÉÏ£¬ÕâÒ»²¿·Ö°
Ïà¹ØÎĵµ£º
ÔÚC/C++ÖÐÎÒÃÇÓÐʱΪÁ˽ÚÊ¡ÄÚ´æÕ¼Óÿռ䣬ÐèҪʹÓõ½Î»Óò£¬ÈçÏÂËùʾ´úÂ룺
struct SDummy
{
int A : 2;
int B : 8;
int C : 12;
int D : 10;
};
ÔÚ¼ÆËã»úÄÚ´æ°º¹óµÄÇé¿öÏ£¬Î»Óò²»·¦ÎªÒ»ÖÖÓÐЧµÄ½ÚÊ¡ÄÚ´æÕ¼ÓÿռäÓÖÈôúÂëÊéд±È½ÏͨË×Ò׶®µÄ·½·¨¡£µ«ÊÇÔÚÏÖ½ñÄÚ´æÏà ......
¶Ô¼¼ÊõÖ´×ŵÄÈË£¬±ÈÈç˵ÎÒ£¬ÍùÍù¶ÔһЩÎÊÌ⣬²»½öÏë×öµ½“ÖªÆäÈ»”£¬»¹Ïë×öµ½“ÖªÆäËùÒÔÈ»”¡££ÃÓïÑÔ¿Éν²©´ó¾«É¼´Ê¹ÎÒÒѾÓжàÄêµÄ¿ª·¢¾Ñ飬¿É»¹ÊÇÓÐÐí¶àÎÊÌâ²»ÖªÆäËùÒÔÈ»¡£Ä³ÌìijµØijÈËÎÊÎÒ£¬£ÃÓïÑÔÖк¯Êý²ÎÊýµÄÈëջ˳ÐòÈçºÎ£¿´ÓÓÒÖÁ×ó£¬ÎÒËæ¿Ú»Ø´ð¡£ÎªÊ²Ã´ÊÇ´ÓÓÒÖÁ×óÄØ£¿ÎÒÖÕ¾¿Ã»Óиø³öºÏÀíµÄ½â ......
ÉÏ´Î×ܽáÁËC++£¨ÃæÏò¶ÔÏó£©Éè¼ÆµÄºËÐÄ˼Ï룬²¢ÇÒÀý¾ÙÁËʹÓÃÀàÄ£ÐÍÀ´Ìæ´úifºÍswitchµÄÒ»ÖÖ½ÏΪµäÐ͵ÄÇé¿ö¡£ÏÂÃæÏëÀ´Ì¸Ì¸C++ÔÚ±àÂë·½ÃæµÄÌص㡣
ÔںܶྵäµÄC++½Ì³ÌÖж¼ÓÐÒ»¸ö½¨Ò飺Ӧ¾¡Á¿Ê¹Óû§´úÂ루¿âµÄʹÓÃÕߣ©¿´ÆðÀ´¶ÌС¶ø¼òµ¥¡£°´ÕÕ³£Ê¶£¬¼òµ¥µÄ´úÂëͨ³£Òª±È´ó¶ÎµÄ´úÂëºÃÀí½â£¬¶øÓû§´úÂëͨ³£ÊµÏÖµÄÊÇ×îÉϲãµÄ¹¦ÄÜ»òÕ ......
char *strcpy(char *strDes, const char *strSrc)
{
assert((strDes != NULL) && (strSrc != NULL));
char *address = strDes;
while ((*strDes + ......
0x80000000£¬¼´–2147483648ʱ,¶ÔËüÈ¡¸º»á²úÉúÉÏÒç
VC.NET 7.1 ÌṩµÄÈ¡¾ø¶ÔÖµº¯Êý(abs.cÖÐ)ÈçÏ£º
¡¡¡¡ int __cdecl abs ( int number)
¡¡¡¡ {
¡¡¡¡ return( number>=0 ? number : -number );
¡¡¡¡ }
¡¡¡¡ ´Ëº¯ÊýʵÏֵ÷dz£¼òµ¥£¬Õ§¿´Ö®ÏÂÎÞÈκÎ벡£¬¿ÉÊÇ×Ðϸ×ÁÄ¥×ÁÄ¥ ......