GNU C LIB
×ÔÓɵĸèÒ¥
¡¡¡¡±¾ÊéÊÇ×ÔÓÉÈí¼þ´ÔÊéµÄÒ»²¿·Ö£¬Ò²ÊÇÒ»Ê××ÔÓɵĸèÒ¥¡£
¡¡¡¡±¾ÊéÖвûÊöµÄGNU C¿â£¬¶¨ÒåÁËËùÓÐÔÚISO C±ê×¼Ëù¹æ¶¨µÄ£¬ÒÔ¼°POSIX±ê×¼¡¢ÆäËüÏà¹Ø±ê×¼ºÍUNIXϵͳËùÅÉÉúµÄ±ê×¼Öж¨ÒåµÄËùÓк¯Êý£¬ÎªGNU²Ù×÷ϵͳËùÖ§³Ö¡£
C³ÌÐòÉè¼ÆÓïÑÔÌṩÖîÈçÊäÈë/Êä³ö¡¢ÄÚ´æ¹ÜÀí¡¢×Ö·û´®²Ù×÷ÒÔ¼°ÆäËüµÄÏà¹Øº¯Êý£¬ÕâЩ¹¤¾ßÔÚCÓïÑÔÖб»¶¨Òå³É±ê×¼¿â£¨library£©£¬¶ÁÕß¿ÉÒÔÁ´½Óµ½¶ÁÕߵijÌÐòÖÐʹÓᣱ¾ÊéµÄÄ¿µÄÊǸæËß¶ÁÕßÈçºÎʹÓÃGNU
libraryÌṩµÄËùÓк¯Êý£¬ÆäÖаüÀ¨ËùÖ¸³öµÄº¯ÊýÊÇÄĸö±ê×¼Ëù¶¨ÒåµÄ£¬ÒÔ°ïÖú¶ÁÕß·¢ÏÖDZÔÚµÄÔì³É²»¿ÉÒÆÖ²µÄÒòËØ¡£
Ò»¡¢±¾ÊéµÄ¶ÔÏó
¡¡¡¡±¾ÊéÔÚ½²½â֮ʱ£¬¼Ù¶¨¶ÁÕßÒÑÓÐ×îÆðÂëµÄC³ÌÐòÉè¼ÆÓïÑÔ£¨×îºÃÊÇ´«Í³µÄISO±ê×¼C£©»ù´¡ºÍ±à³Ì¸ÅÄî¡£Òò´Ë´ËÊéµÄ¶ÔÏóȺÊÇһЩ¸ß¼¶³ÌÐòÉè¼ÆÈËÔ±¡¢ÏµÍ³·ÖÎöÈËÔ±ÒÔ¼°ÏóÎÒÕâÑùµÄ×ÔÓÉÈí¼þ×ÊÔ´µÄ·¢ÉÕÓÑÃÇ¡£
¡¡¡¡GNU C¿â°üÀ¨Ðí¶àÍ·Îļþ£¨header files£©£¬Ã¿¸öÍ·Îļþ¶¨ÒåÁËÒ»×éÏà¹ØµÄº¯Êý£¬ÕâЩÊÇGNU
C±àÒëÆ÷ÔÚ±àÒë¶ÁÕߵijÌÐòʱҪÓõ½µÄ¡£ÀýÈ磬ͷÎļþ"stdio.h"¶¨ÒåÁËһЩÓëÊäÈë/Êä³öÓйصĺ¯Êý£¬¶øÍ·Îļþ"string.h"Ôò¶¨ÒåÁËһЩÓë×Ö
·û´®´¦ÀíÏà¹ØµÄº¯Êý¡£±¾ÊéÒ²ÊǸù¾ÝÕâЩͷÎļþÀ´×éÖ¯µÄ¡£
¡¡¡¡Èç¹û¶ÁÕßÊǵÚÒ»´ÎÔĶÁ´ËÊ飬¿ÉÒÔÖØµãÔĶÁËùÓеĽéÉܲ¿·Ö£¬¶øÂÔ¹ýÆäÓàµÄÕ½ڡ£ÒòΪGNU
C¿âÖÐÌṩÁË´óÁ¿µÄº¯Êý£¬Ò»¸öÈËÒ²ÐíÒªÓÃÇһÉúµÄʱ¼ä²ÅÄܹ»Êì¼Ç±¾ÊéÖнéÉܵÄÿһ¸öº¯ÊýµÄ¾ßÌåÓ÷¨¡£ÎÒÃǽ¨Òé¶ÁÕßÔÚÔĶÁ´ËÊéʱ£¬Ö»ÐèÒªÁ˽âGNUÖдó¸Å
ÌṩÁËÄÄЩº¯Êý£¬ÒÔ±ã½ñºóÔÚд³ÌÐòʱ֪µÀ¿ÉÒÔʹÓÃÄĸö£¬ÒÔ¼°ÔÚ±¾ÊéÖÐÈçºÎ²éÕҵȵȡ£±¾Êé¸üÏóÒ»±¾GNU×ÖµäÀàµÄ¹¤¾ßÊé¡£
¶þ¡¢±¾ÊéÌÖÂ۵ıê×¼ºÍÒÆÖ²ÐÔ
¡¡¡¡±¾ÊéÌÖÂÛGNU C¿â×ñÕյĸ÷ÖÖ¸÷Ñù±ê×¼ºÍÆäËûÀ´Ô´¡£ÕâЩÀ´Ô´°üÀ¨£ºISO C¡¢POSIX±ê×¼¡¢System V¼°BSD£¨²®¿ËÀû£©UNIXµÄʵʩ±ê×¼¡£±¾Êé×îÖØÒªµÄÄ¿µÄÊǸæËß¶ÁÕßÈçºÎÓÐЧµØÊ¹ÓÃGNU
C¿âÌṩµÄº¯Êý¡£È»¶ø£¬Èç¹û¶ÁÕßÏëÈóÌÐò¼æÈÝÕâЩ±ê×¼£¬»òÕßÒ×ÓÚÒÆÖ²µ½ÆäËü²Ù×÷ϵͳ£¬¶ÔGNU C¿âµÄʹÓÃϸ½Ú¶¼»á²»Í¬¡£
¡¡¡¡2.1 ISO C
¡¡¡¡GNU C¿âÓë±»ÃÀ¹ú¹ú¼Ò±ê׼лáANSIËù²ÉÓõÄC±ê×¼----"ANSI C"£¨ANSI X3.159-1989£©ÒÔ¼°ºóÀ´¹ú¼Ê±ê×¼»¯×éÖ¯ISOËù²ÉÓõÄ
C±ê×¼----"ISO C"£¨ISO/I
Ïà¹ØÎĵµ£º
ACE×ÔÊÊÅäͨÐÅ»·¾³£¨ADAPTIVE Communication Environment£©ÊÇ¿ÉÒÔ×ÔÓÉʹÓᢿª·ÅÔ´ÂëµÄÃæÏò¶ÔÏó£¨OO£©¿ò¼Ü£¨Framework£©£¬ÔÚÆäÖÐʵÏÖÁËÐí¶àÓÃÓÚ²¢·¢Í¨ÐÅÈí¼þµÄºËÐÄģʽ¡£ACEÌṩÁËÒ»×é·á¸»µÄ¿É¸´ÓÃC++ Wrapper Facade£¨°ü×°Íâ¹Û£©ºÍ¿ò¼Ü×é¼þ£¬¿É¿çÔ½¶àÖÖÆ½Ì¨Íê³ÉͨÓõÄͨÐÅÈí¼þÈÎÎñ£¬ÆäÖаüÀ¨£ºÊ¼þ¶à··ÖÀëºÍʼþ´¦À ......
1£®ÒÑÖªstrcpy º¯ÊýµÄÔÐÍÊÇ£º
char *strcpy(char *strDest, const char *strSrc);
ÆäÖÐstrDest ÊÇÄ¿µÄ×Ö·û´®£¬strSrc ÊÇÔ´×Ö·û´®¡£²»µ÷ÓÃC++/C µÄ×Ö·û´®¿âº¯Êý£¬Çë±àдº¯Êý strcpy
´ð°¸£º
char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest ......
²Ù×÷ϵͳµÄÒ»¸ö¾µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2 // Ïû·ÑÕß» ......
C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
1. ×Ö·û´®¶¨Ò壺char* result£»
2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬ ......
Ŀǰ¸÷ÖÖLinux·¢Ðа涼֧³ÖUTF-8±àÂ룬µ±Ç°ÏµÍ³µÄÓïÑÔºÍ×Ö·û±àÂëÉèÖñ£´æÔÚһЩ»·¾³±äÁ¿ÖУ¬¿ÉÒÔͨ¹ýlocaleÃüÁî²é¿´£º
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPE ......