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
Ïà¹ØÎĵµ£º
extern "C" Ïê½â
ÔÚC++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³É»ã±à´úÂëʱ£¬º¯ÊýµÄÃû×ÖÒª¼ÓÈ뺯ÊýµÄ²ÎÊýÀàÐÍ»òÕß·µ»ØÖµÀàÐ͵ÈÐÅÏ¢
ÔÚCÖУ¬ÒòûÓÐÖØÔØ»úÖÆ£¬±àÒëºóµÄ´úÂëÖ»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»¼ÓÈëÆäËûµÄÐÅÏ¢
1. ²»¼ÓÈëextern "C"
testexternc.cpp
int mytest(void)
{
int a=10,b=20;
int c=a+b;
ret ......
CÊÇÃæÏò¹ý³ÌµÄ³ÌÐòÉè¼Æ£¬³ÌÐò=Êý¾Ý½á¹¹+Ëã·¨ [×îÔʼ£¬µ«±à¸ö³Ìȷʵ²»Ò×]
C++ÊÇÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ£¬³ÌÐò=¶à¸öÀà+ÏûÏ¢(Àà=Êý¾Ý½á+Ëã·¨)[±È½ÏÈÝÒ×ÉÏÊÖ]
C# ÊÇ´¿ÃæÏò¶ÔÏóµÄÓïÑÔ[¸ü¼Ó±È½ÏÈÝÒ×ÉÏÊÖ]
VC/VC++/VC# Ö»ÊÇÓÃÀ´¿ª·¢C/C++/C#Ó¦ÓóÌÐòµÄÈí¼þÖеÄÒ»ÖÖ¡£
......
²Ù×÷ϵͳµÄÒ»¸ö¾µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
/*
* author ÕÅÎÄ
* 2008/06/20
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h> ......
²Ù×÷ϵͳµÄÒ»¸ö¾µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2 // Ïû·ÑÕß» ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......