from£ºhttp://wiki.ubuntu.org.cn/index.php?title=C_Cpp_IDE&variant=zh-cn
¼øÓÚ²»¶ÏÓÐÍøÓѽ«±àÒëÆ÷ GCC ÎóÈÏΪ IDE£¨¼¯³É¿ª·¢»·¾³£©
ÆÚÍûÍÑÀëÃüÁîÐÐ
ÆÚÍûÄÜÔڲ˵¥Öз¢ÏÖÆäÉíÓ°
ÆÚÍûÆäÄÜÓÐÒ»¸ö¼¯±à¼±àÒëÁ´½Óµ÷ÊÔÔËÐÐÓÚÒ»ÌåµÄ½çÃæ
¹Ê±¾Îĸø´ó¼Ò¼òµ¥ÂÞÁÐһЩ C/C++ ±à³ÌÖпÉÓÃµÄ IDE£¬»òÐíÄã´ÓÖпÉÒÔÕÒÒ»¸öÄãϲ»¶µÄ¡£
Ϊ±ÜÃâÒÔÏÂij¸öÈí¼þ°²×°Ê±²»×Ô¶¯°²×° build-essential ²»·ÁÏÈÖ´ÐУº
sudo apt-get install build-essential
×¢ÒâàÞ£º
±¾ÎÄÔÚÆÚ´ýÄãµÄÍêÉÆ¡£
[±à¼
]
anjuta
Anjuta DevStudio µÄ¹Ù·½µØÖ·£ºhttp://anjuta.sourceforge.net/
AnjutaÊÇÒ»¸öC/C++ IDE£¬Ëü×î´óµÄÌØÉ«ÊÇÁé»î£¬Í¬Ê±´ò¿ª¶à¸öÎļþ£¬ÄÚǶ´úÂë¼¶µÄµ÷ÊÔÆ÷(µ÷ÓÃgdb)£¬Ó¦ÓóÌÐòÏòµ¼£¨Application wizards£©¿ÉÒÔ·½±ãµÄ°ïÖúÄã´´½¨GNOME³ÌÐò¶ø²»ÐèÒªÄã×Ô¼ºÐ´Ò»Ð©ÓëÄãÐËȤÎ޹صĴúÂë¡£
°²×°·½·¨£º
sudo apt-get install anjuta
°²×°Íê³Éºó£¬¿ÉÄÜÔÚн¨¹¤³Ì£¨project)ʱ»á³öÏÖ“ÕÒ²»µ½°æ±¾ºÅΪ5µÄAutogen”µÄ´íÎóÐÅÏ¢¡£ÕâʱÇë°²×°AutogenÈí¼þ°ü¡£
sudo apt-get install autogen
²Î¿¼£º
LinuxÏÂÓÃAnjutaд¸öHello World µÄC++³ÌÐò¾¹Èç´Ë¼òµ¥£¡
anjuta½çÃæ
[±à¼
]
kdevelo ......
static
DataManager
*
sharedDataManager
=
nil;
+
(DataManager
*
) sharedManager
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
[[self alloc] init];
}
}
return
sharedDataManager;
}
+
(id)allocWithZone:(NSZone
*
)zone
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
sharedDataManager
=
[super allocWithZone:zone];
return
......
Ê×ÏȽøÐÐÒ»¸öʵÑ飬·Ö±ð¶¨ÒåÒ»¸ösigned intÐÍÊý¾ÝºÍunsigned intÐÍÊý¾Ý£¬È»ºó½øÐдóС±È½Ï£º
unsigned int a=20;
signed int b=-130;
a>b?»¹ÊÇb>a£¿ÊµÑéÖ¤Ã÷b>a£¬Ò²¾ÍÊÇ˵£130>20,Ϊʲô»á³öÏÖÕâÑùµÄ½á¹ûÄØ£¿
ÕâÊÇÒòΪÔÚCÓïÑÔ²Ù×÷ÖУ¬Èç¹ûÓöµ½ÎÞ·ûºÅÊýÓëÓзûºÅÊýÖ®¼äµÄ²Ù×÷£¬±àÒëÆ÷»á×Ô¶¯×ª»¯ÎªÎÞ·ûºÅÊýÀ´½øÐд¦Àí£¬Òò´Ëa£½20£¬b£½4294967166£¬ÕâÑù±È½ÏÏÂÈ¥µ±È»b>aÁË¡£
ÔÙ¾ÙÒ»¸öÀý×Ó£º
unsigned int a=20;
signed int b=-130;
std::cout<½á¹ûÊä³öΪ4294967186£¬Í¬ÑùµÄµÀÀí£¬ÔÚÔËËã֮ǰ£¬a£½20£¬b±»×ª»¯Îª4294967166£¬ËùÒÔa£«b£½4294967186
¼õ·¨ºÍ³Ë·¨µÄÔËËã½á¹ûÀàËÆ¡£
Èç¹û×÷Ϊsigned intÐÍÊý¾ÝµÄb=-130£¬bÓëÁ¢¼´ÊýÖ®¼ä²Ù×÷ʱ²»Ó°ÏìbµÄÀàÐÍ£¬ÔËËã½á¹ûÈÔȻΪsigned intÐÍ£º
signed int b=-130;
std::cout<Êä³öΪ-100¡£
¶ø¶ÔÓÚ¸¡µãÊýÀ´Ëµ£¬¸¡µãÊý£¨float£¬double£©Êµ¼ÊÉ϶¼ÊÇÓзûºÅÊý£¬unsigned ºÍsignedǰ׺²»ÄܼÓÔÚfloatºÍdoubleÖ®ÉÏ£¬µ±È»¾Í²»´æÔÚÓзûºÅÊý¸ùÎÞ·ûºÅÊýÖ®¼äת»¯µÄÎÊÌâÁË¡£
include
include
define UNSIGNED_SHORT_LT(a , b) (((unsigned short) (((unsigned short) a) - ((unsigned ......
1.staticÓÐʲôÓÃ;£¿£¨ÇëÖÁÉÙ˵Ã÷Á½ÖÖ£©
1)ÔÚº¯ÊýÌ壬һ¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄ±äÁ¿ÔÚÕâÒ»º¯Êý±»µ÷Óùý³ÌÖÐά³ÖÆäÖµ²»±ä¡£
2) ÔÚÄ£¿éÄÚ£¨µ«ÔÚº¯ÊýÌåÍ⣩£¬Ò»¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄ±äÁ¿¿ÉÒÔ±»Ä£¿éÄÚËùÓú¯Êý·ÃÎÊ£¬µ«²»Äܱ»Ä£¿éÍâÆäËüº¯Êý·ÃÎÊ¡£ËüÊÇÒ»¸ö±¾µØµÄÈ«¾Ö±äÁ¿¡£
3) ÔÚÄ£¿éÄÚ£¬Ò»¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄº¯ÊýÖ»¿É±»Õâһģ¿éÄ򵀮äËüº¯Êýµ÷Óá£ÄǾÍÊÇ£¬Õâ¸öº¯Êý±»ÏÞÖÆÔÚÉùÃ÷ËüµÄÄ£¿éµÄ±¾µØ·¶Î§ÄÚʹÓÃ
2.ÒýÓÃÓëÖ¸ÕëÓÐÊ²Ã´Çø±ð£¿
1) ÒýÓñØÐë±»³õʼ»¯£¬Ö¸Õë²»±Ø¡£
2) ÒýÓóõʼ»¯ÒÔºó²»Äܱ»¸Ä±ä£¬Ö¸Õë¿ÉÒԸıäËùÖ¸µÄ¶ÔÏó¡£
3) ²»´æÔÚÖ¸Ïò¿ÕÖµµÄÒýÓ㬵«ÊÇ´æÔÚÖ¸Ïò¿ÕÖµµÄÖ¸Õë¡£
3.ÃèÊöʵʱϵͳµÄ»ù±¾ÌØÐÔ
ÔÚÌØ¶¨Ê±¼äÄÚÍê³ÉÌØ¶¨µÄÈÎÎñ£¬ÊµÊ±ÐÔÓë¿É¿¿ÐÔ¡£
4.È«¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿ÔÚÄÚ´æÖÐÊÇ·ñÓÐÇø±ð£¿Èç¹ûÓУ¬ÊÇÊ²Ã´Çø±ð£¿
È«¾Ö±äÁ¿´¢´æÔÚ¾²Ì¬Êý¾Ý¿â£¬¾Ö²¿±äÁ¿ÔÚ¶ÑÕ»¡£
5.ʲôÊÇÆ½ºâ¶þ²æÊ÷£¿
×óÓÒ×ÓÊ÷¶¼ÊÇÆ½ºâ¶þ²æÊ÷ ÇÒ×óÓÒ×ÓÊ÷µÄÉî¶È²îÖµµÄ¾ø¶ÔÖµ²»´óÓÚ1 ......
1.staticÓÐʲôÓÃ;£¿£¨ÇëÖÁÉÙ˵Ã÷Á½ÖÖ£©
1)ÔÚº¯ÊýÌ壬һ¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄ±äÁ¿ÔÚÕâÒ»º¯Êý±»µ÷Óùý³ÌÖÐά³ÖÆäÖµ²»±ä¡£
2) ÔÚÄ£¿éÄÚ£¨µ«ÔÚº¯ÊýÌåÍ⣩£¬Ò»¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄ±äÁ¿¿ÉÒÔ±»Ä£¿éÄÚËùÓú¯Êý·ÃÎÊ£¬µ«²»Äܱ»Ä£¿éÍâÆäËüº¯Êý·ÃÎÊ¡£ËüÊÇÒ»¸ö±¾µØµÄÈ«¾Ö±äÁ¿¡£
3) ÔÚÄ£¿éÄÚ£¬Ò»¸ö±»ÉùÃ÷Ϊ¾²Ì¬µÄº¯ÊýÖ»¿É±»Õâһģ¿éÄ򵀮äËüº¯Êýµ÷Óá£ÄǾÍÊÇ£¬Õâ¸öº¯Êý±»ÏÞÖÆÔÚÉùÃ÷ËüµÄÄ£¿éµÄ±¾µØ·¶Î§ÄÚʹÓÃ
2.ÒýÓÃÓëÖ¸ÕëÓÐÊ²Ã´Çø±ð£¿
1) ÒýÓñØÐë±»³õʼ»¯£¬Ö¸Õë²»±Ø¡£
2) ÒýÓóõʼ»¯ÒÔºó²»Äܱ»¸Ä±ä£¬Ö¸Õë¿ÉÒԸıäËùÖ¸µÄ¶ÔÏó¡£
3) ²»´æÔÚÖ¸Ïò¿ÕÖµµÄÒýÓ㬵«ÊÇ´æÔÚÖ¸Ïò¿ÕÖµµÄÖ¸Õë¡£
3.ÃèÊöʵʱϵͳµÄ»ù±¾ÌØÐÔ
ÔÚÌØ¶¨Ê±¼äÄÚÍê³ÉÌØ¶¨µÄÈÎÎñ£¬ÊµÊ±ÐÔÓë¿É¿¿ÐÔ¡£
4.È«¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿ÔÚÄÚ´æÖÐÊÇ·ñÓÐÇø±ð£¿Èç¹ûÓУ¬ÊÇÊ²Ã´Çø±ð£¿
È«¾Ö±äÁ¿´¢´æÔÚ¾²Ì¬Êý¾Ý¿â£¬¾Ö²¿±äÁ¿ÔÚ¶ÑÕ»¡£
5.ʲôÊÇÆ½ºâ¶þ²æÊ÷£¿
×óÓÒ×ÓÊ÷¶¼ÊÇÆ½ºâ¶þ²æÊ÷ ÇÒ×óÓÒ×ÓÊ÷µÄÉî¶È²îÖµµÄ¾ø¶ÔÖµ²»´óÓÚ1 ......
ÓÉÓÚVC±àÒëÆ÷Óк¯ÊýÖØÃüÃûµÄ¹¦ÄÜËùÒÔ£¬È·¶¨º¯ÊýÃûÓÐÁ½ÖÖ·½Ê½£º
1.extern "C"
2.ʹÓÃ.defÎļþ
ÕâÁ½ÖÖÒ²¿ÉÒÔÒ»ÆðʹÓá£
ÏÂÃæÊÇÒ»¸öÀý×Ó£º
extern "C" _declspec(dllexport)int __stdcall JieCheng(int a)
{//½×³Ëº¯Êý¡£ÊäÈë:ÕýÕûÊý¡£Êä³ö:Õâ¸öÊýµÄ½×³ËÖµ
int b=1;
for(int i=1;i<=a;i++)
{
b=b*i;
}
return b;
}
extern "C" _declspec(dllexport)int _stdcall subs(int a,int b)
{//¼õ·¨º¯Êý
return a-b;
}
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
xxx.defÎļþÄÚÈÝ:
EXPORTS
JieCheng
subs
----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------- ......
ÓÉÓÚVC±àÒëÆ÷Óк¯ÊýÖØÃüÃûµÄ¹¦ÄÜËùÒÔ£¬È·¶¨º¯ÊýÃûÓÐÁ½ÖÖ·½Ê½£º
1.extern "C"
2.ʹÓÃ.defÎļþ
ÕâÁ½ÖÖÒ²¿ÉÒÔÒ»ÆðʹÓá£
ÏÂÃæÊÇÒ»¸öÀý×Ó£º
extern "C" _declspec(dllexport)int __stdcall JieCheng(int a)
{//½×³Ëº¯Êý¡£ÊäÈë:ÕýÕûÊý¡£Êä³ö:Õâ¸öÊýµÄ½×³ËÖµ
int b=1;
for(int i=1;i<=a;i++)
{
b=b*i;
}
return b;
}
extern "C" _declspec(dllexport)int _stdcall subs(int a,int b)
{//¼õ·¨º¯Êý
return a-b;
}
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
xxx.defÎļþÄÚÈÝ:
EXPORTS
JieCheng
subs
----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------- ......
CÊý×éµÄСÎÊÌâ
ÕâÀï˵µÄ¶¯Ì¬Êý×éÊÇ¿ÉÒÔ¸ù¾ÝÐèÒª¶¯Ì¬Ôö³¤Õ¼ÓÃÄÚ´æµÄÊý×飬±ÈÈç³ÌÐò³õʼ·ÖÅäÁË100¸öÔªËØ£¬¿ÉÊÇÔËÐÐÁËÒ»¶Îʱ¼äºóÇøÇø100¸ö¿Õ¼ä²»ÄÜÂú×ãÁË£¬ÏÖÔÚÐèÒª400¸ö£¬Ôõô°ìÄØ£»Äǿ϶¨ÐèÒªÔÙ¶îÍâ·ÖÅä300¸ö¡£
CÓïÑÔÓÐrealloc()º¯ÊýÀ´½â¾ö¿Õ¼äÀ©³äµÄÎÊÌ⣬µ«ÊDz»ÒªÍüÁËrealloc¿ÉÄÜ»áÇ¨ÒÆÄڴ棬ºÜ¶àʱºòÊý×éÖеÄÔªËØ»á±»ÆäËüº¯Êý/Ä£¿éÒýÓã¬Èç¹ûµØÖ··¢ÉúÁ˱仯£¬½á¹û½«ÊÇÔÖÄÑÐԵġ£
ÄÇôSTLµÄvectorÄØ£¿ËüÒ²ÓÐÏàͬµÄÎÊÌâ¡£
Ò»´Î·ÖÅä×ã¹»µÄ¿Õ¼äÊÇ¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣬ºÜÃ÷ÏÔÕâ»áÔì³ÉÄÚ´æµÄÀË·Ñ£¬Õâ¸ö×ö·¨²»ËãÃ÷ÖÇ¡£
²»Ê¹ÓÃÊý×éÄØ£¿Ê¹ÓÃlistÄܽâ¾öÒ»²¿·ÖÎÊÌ⣬µ«ÊÇlist²»ÄÜÖ§³ÖËæ»ú·ÃÎʰ¡£¬¼øÓÚЧÂÊÉϵÄÓ²ÉË£¬ÏÔÈ»²»ÄÜËæ±ãÓÃlistÌæ»»Êý×é¡£
Ôõô½â¾öÕâ¸öÎÊÌâÄØ£¿¶¯Ì¬Êý×飡ÔÚHPServer µÄDemutex Table¾ÍÓõ½Á˶¯Ì¬Êý×飬ÊÂʵ֤Ã÷Ч¹û²»´í¡£
¶¯Ì¬Êý×éµÄÌØÕ÷
¶¯Ì¬Êý×éÊÇÒ»¸öºÜ¼òµ¥Ò×ÓõÄÊý¾Ý½á¹¹£¬µ«ÊǼòµ¥²»´ú±íÓŵãС£¬ËüµÄÌØÕ÷ÈçÏ£º
1 ¸ù¾ÝÐèÒª¶¯Ì¬ÅúÁ¿Ôö³¤Äڴ棻
2 Ò»¾·ÖÅä£¬ÔªËØµØÖ·²»»áÔٴα仯£ ......
CÊý×éµÄСÎÊÌâ
ÕâÀï˵µÄ¶¯Ì¬Êý×éÊÇ¿ÉÒÔ¸ù¾ÝÐèÒª¶¯Ì¬Ôö³¤Õ¼ÓÃÄÚ´æµÄÊý×飬±ÈÈç³ÌÐò³õʼ·ÖÅäÁË100¸öÔªËØ£¬¿ÉÊÇÔËÐÐÁËÒ»¶Îʱ¼äºóÇøÇø100¸ö¿Õ¼ä²»ÄÜÂú×ãÁË£¬ÏÖÔÚÐèÒª400¸ö£¬Ôõô°ìÄØ£»Äǿ϶¨ÐèÒªÔÙ¶îÍâ·ÖÅä300¸ö¡£
CÓïÑÔÓÐrealloc()º¯ÊýÀ´½â¾ö¿Õ¼äÀ©³äµÄÎÊÌ⣬µ«ÊDz»ÒªÍüÁËrealloc¿ÉÄÜ»áÇ¨ÒÆÄڴ棬ºÜ¶àʱºòÊý×éÖеÄÔªËØ»á±»ÆäËüº¯Êý/Ä£¿éÒýÓã¬Èç¹ûµØÖ··¢ÉúÁ˱仯£¬½á¹û½«ÊÇÔÖÄÑÐԵġ£
ÄÇôSTLµÄvectorÄØ£¿ËüÒ²ÓÐÏàͬµÄÎÊÌâ¡£
Ò»´Î·ÖÅä×ã¹»µÄ¿Õ¼äÊÇ¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣬ºÜÃ÷ÏÔÕâ»áÔì³ÉÄÚ´æµÄÀË·Ñ£¬Õâ¸ö×ö·¨²»ËãÃ÷ÖÇ¡£
²»Ê¹ÓÃÊý×éÄØ£¿Ê¹ÓÃlistÄܽâ¾öÒ»²¿·ÖÎÊÌ⣬µ«ÊÇlist²»ÄÜÖ§³ÖËæ»ú·ÃÎʰ¡£¬¼øÓÚЧÂÊÉϵÄÓ²ÉË£¬ÏÔÈ»²»ÄÜËæ±ãÓÃlistÌæ»»Êý×é¡£
Ôõô½â¾öÕâ¸öÎÊÌâÄØ£¿¶¯Ì¬Êý×飡ÔÚHPServer µÄDemutex Table¾ÍÓõ½Á˶¯Ì¬Êý×飬ÊÂʵ֤Ã÷Ч¹û²»´í¡£
¶¯Ì¬Êý×éµÄÌØÕ÷
¶¯Ì¬Êý×éÊÇÒ»¸öºÜ¼òµ¥Ò×ÓõÄÊý¾Ý½á¹¹£¬µ«ÊǼòµ¥²»´ú±íÓŵãС£¬ËüµÄÌØÕ÷ÈçÏ£º
1 ¸ù¾ÝÐèÒª¶¯Ì¬ÅúÁ¿Ôö³¤Äڴ棻
2 Ò»¾·ÖÅä£¬ÔªËØµØÖ·²»»áÔٴα仯£ ......