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

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ºêʵÀý
Õª×ÔLinuxÄÚºË2.6.21.5Ô´Âë(²¿·Ö)£¬Õ¹Ê¾ÁËÁ´±íµÄÁíÒ»ÖÖʵÏÖ˼·
δ²ÉÓÃANSI C±ê×¼£¬²ÉÓÃGNU C±ê×¼£¬×ñ´ÓGPL°æÈ¨Ðí¿É¡£
struct list_head {
struct list_head *next, *prev;
};

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
struct list_ ......

CºÍC++µÄλÔËËã

  ÓдÎÒ»¸öͬÊÂÎÊÎÒ
    swc ^= swc;
  ÊÇʲôÒâ˼,ÎÒÒ²²»ÖªµÀ,²éÁËÏÂ,Òâ˼Ӧ¸ÃÊǽ«swc±äÁ¿Çå0£¬ÒÉ»óµÄÊÇΪʲô¾Í²»ÄÜд³É swc = 0; ÄØ?²»Ã÷°×
  ˳±ã¼Ç¼ÏÂÆäËûµÄ²Ù×÷,Åöµ½ÐµÄÔÙ×·¼Ó:
    swc = ~swc;    //±äÁ¿È¡·´ ......

CÖÐmallocºÍfreeµÄÔ­Àí Õª×Ôtechriver.cublog.cn

̸̸CÓïÑÔµÄmalloc()ºÍfree()
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨£º
1¡¢º¯ÊýÔ­Ðͼ°ËµÃ÷£º
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£
¹ØÓÚ·ÖÅäʧ°ÜµÄÔ­Òò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *Fir ......

³£¼ûµÄC×Ö·û´®´¦Àíº¯ÊýµÄÔ´´úÂë

char *strcpy(char *strDes, const char *strSrc)
{
    assert((strDes != NULL) && (strSrc != NULL));
    char *address = strDes;
    while ((*strDes + ......

c/c++ÃæÊÔÌâ

c/c++ÃæÊÔÌâ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº­¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ