ÈçºÎÀí½âC run
ÈçºÎÀí½âC run-time library £¨CÔËÐÐʱ¿â£©
×¢£º ÒÔÏÂÄÚÈݲ¿·ÖÒý×ÔCSNDÖÐÏà¹ØÌÖÂÛµÄÌû×Ó£¬²¢½áºÏ×Ô¼ºµÄÀí½âÕûÀí¶ø³É¡£½ö¹©²Î¿¼¡£
1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£¬Êý¾ÝÀàÐ͵ȣ©£»ËùÒÔ£¬C ÓïÑÔÄں˿ª·¢³öÀ´Ö®ºó£¬Dennis Ritchie ºÍ Brian Kernighan ¾ÍÓà C ±¾ÉíÖØÐ´ÁË 90% ÒÔÉ쵀 UNIX ϵͳº¯Êý£¬²¢ÇÒ°ÑÆäÖÐ×î³£ÓõIJ¿·Ö¶ÀÁ¢³öÀ´£¬ÐγÉÍ·ÎļþºÍ¶ÔÓ¦µÄ LIBRARY£¬C run-time library ¾ÍÊÇÕâÑùÐγɵġ£
3) Ëæºó£¬Ëæ×Å C ÓïÑÔµÄÁ÷ÐУ¬¸÷¸ö C ±àÒëÆ÷µÄÉú²úÉÌ/¸öÌå/ÍÅÌå¶¼×ñÑÀϵĴ«Í³£¬ÔÚ²»Í¬Æ½Ì¨É϶¼ÓÐÏà¶ÔÓ¦µÄ Standard Library£¬µ«´ó²¿·ÖʵÏÖ¶¼ÊÇÓë¸÷¸öƽ̨Óйصġ£ÓÉÓÚ¸÷¸ö C ±àÒëÆ÷¶Ô C µÄÖ§³ÖºÍÀí½âÓкܶà·ÖÆçºÍ΢ÃîµÄ²î±ð£¬ËùÒÔ¾ÍÓÐÁË ANSI C£»ANSI C £¨Ö÷¹ÛÒâͼÉÏ£©ÏêϸµÄ¹æ¶¨ÁË C ÓïÑÔ¸÷¸öÒªËØµÄ¾ßÌ庬ÒåºÍ±àÒëÆ÷ʵÏÖÒªÇó£¬Òý½øÁËеĺ¯ÊýÉùÃ÷·½Ê½£¬Í¬Ê±¶©Á¢ÁË Standard Library µÄ±ê×¼ÐÎʽ¡£ËùÒÔCÔËÐÐʱ¿âÓɱàÒëÆ÷Éú²úÉÌÌṩ¡£ÖÁÓÚÓÉÆäËû³§ÉÌ/¸öÈË/ÍÅÌåÌṩµÄÍ·ÎļþºÍ¿âº¯Êý£¬Ó¦µ±³ÆÎªµÚÈý·½ C ÔËÐп⣨Third party C run-time libraries£©¡£
4)C run-time libraryÀïÃæº¬Óгõʼ»¯´úÂ룬»¹ÓдíÎó´¦Àí´úÂë(ÀýÈçdivide by zero´¦Àí)¡£ÄãдµÄ³ÌÐò¿ÉÒÔûÓÐmath¿â£¬³ÌÐòÕÕÑùÔËÐУ¬Ö»ÊDz»ÄÜ´¦Àí¸´ÔÓµÄÊýѧÔËË㣬²»¹ýÈç¹ûûÓÐÁËC run-time¿â£¬main()¾Í²»»á±»µ÷Óã¬exit()Ò²²»Äܱ»ÏìÓ¦¡£ÒòΪC run-time library°üº¬ÁËC³ÌÐòÔËÐеÄ×î»ù±¾ºÍ×î³£Óõĺ¯Êý¡£
5) µ½ÁË C++ ÊÀ½çÀÓÐÁíÍâÒ»¸ö¸ÅÄî:Standard C++ Library,Ëü°üÀ¨ÁËÉÏÃæËù˵µÄ C run-time library ºÍ STL¡£°üº¬ C run-time library µÄÔÒòºÜÃ÷ÏÔ£¬C++ ÊÇ C µÄ³¬¼¯£¬Ã»ÓÐÀíÓÉÔÙÖØÐÂÀ´Ò»¸ö C++ run-time library. VCÕë¶ÔC++ ¼ÓÈëµÄStandard C++ LibraryÖ÷Òª°üÀ¨£ºLIBCP.LIB, LIBCPMT.LIBºÍ MSVCPRT.LIB
6)Windows»·¾³Ï£¬VCÌṩµÄ C run-time libraryÓÖ·ÖΪ¶¯Ì¬ÔËÐÐʱ¿âºÍ¾²Ì¬ÔËÐÐʱ¿â¡£
¶¯Ì¬ÔËÐÐʱ¿âÖ÷ÒªÊÇDLL¿âÎļþmsvcrt.dll(or MSVCRTD.DLL for debug build),¶ÔÓ¦µÄImport libraryÎļþÊÇMSVCRT.LIB(MSVCRTD.LIB for debug build)
¾²Ì¬ÔËÐÐʱ¿â(release°æ)¶ÔÓ¦µÄÖ÷ÒªÎļþÊÇ£º
LIBC.LIB (Single thread static library, retail version)
LIBCMT.LIB (Multithread static library, retail versio
Ïà¹ØÎĵµ£º
CreateThreadº¯Êý
Ç°Ãæ½²¹ý£¬½ø³ÌµÄÖ÷Ï̻߳áÔÚCreateProcessµ÷ÓÃʱ×Ô¶¯´´½¨¡£¼ÙÈçÄãÒªÊÖ¹¤´´½¨Ị̈߳¬Äã¿ÉÒÔµ÷ÓÃCreateThreadº¯Êý£º
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD cbStackSize,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD dwCreateFlags,
PDWORD pdwThreadID) ......
1.ÓÃÔ¤´¦ÀíÖ¸Áî#defineÉùÃ÷Ò»¸ö³£Êý£¬±íÃ÷1ÄêÓжàÉÙÃ루ÈòÄêºöÂÔ£©
#define SECONDS_PER_YEAR (60*60*24*365)UL
2.дһ¸ö“±ê×¼”ºê MIN£¬ÊäÈëÁ½¸ö²ÎÊý²¢·µ»Ø½ÏСµÄÒ»¸ö
#define MIN(A,B) ( ( (A)<=(B) )?(A):(B) )
3.Ô¤´¦Àí±êʶ#errorµÄÄ¿µÄÊÇʲô?
Í£Ö¹±àÒë²¢ÏÔʾ³ö´íÐÅÏ¢
4.ÓÃCÓïÑÔ±àдһ¸öËÀÑ ......
½«Àà³ÉÔ±º¯ÊýÓÃ×öC»Øµ÷º¯Êý
Ìá³öÎÊÌ⣺
»Øµ÷º¯ÊýÊÇ»ùÓÚC±à³ÌµÄWindows SDKµÄ¼¼Êõ£¬²»ÊÇÕë¶ÔC++µÄ£¬³ÌÐòÔ±¿ÉÒÔ½«Ò»¸öCº¯ÊýÖ±½Ó×÷Ϊ»Øµ÷º¯Êý£¬µ«ÊÇÈç¹ûÊÔͼֱ½ÓʹÓÃC++µÄ³ÉÔ±º¯Êý×÷Ϊ»Øµ÷º¯Êý½«·¢Éú´íÎó£¬ÉõÖÁ±àÒë¾Í²»ÄÜͨ¹ý¡£
·ÖÎöÔÒò£º
ÆÕͨµÄC++³ÉÔ±º¯Êý¶¼Òþº¬ÁËÒ»¸ö´«µÝº¯Êý ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë ¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨ Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ ......
1.¶¯Ì¬»ñµÃÄÚ´æµÄ´úÂë:
void GetMemory(char **p, int num)
{
*p = (char *)malloc(sizeof(char) * num);
}
char* GetMemory2(int num)
{
char* p = (char *)malloc(sizeof(char) * num);
return p;
}
------------------------------------------
´íÎóµÄ´úÂë:
void Ge ......