[ת]ubuntuÏÂc£¯c++¿ª·¢»·¾³ÅäÖÃ
ubuntuϵÄc/c++»·¾³´î½¨ÊDZȽϼòµ¥,ÒòΪÓÐaptºÍÐÂÁ¢µÃµÄ°ïÖú.
1.
Ê×ÏÈÊÇÅäÖÃgcc,ÔÚubuntu°²×°Íê³ÉÒѾÓÐgccÁË(gccÊÇÓÉGNUÖ®¸¸StallmanËù¿ª·¢µÄlinuxϵıàÒëÆ÷£¬È«³ÆÎªGNU
Compiler Collection£¬ Ŀǰ¿ÉÒÔ±àÒëµÄÓïÑÔ°üÀ¨£ºC, C++, Objective-C, Fortran, Java,
and
Ada.).µ«ÊÇgcc»¹²»ÄܱàÒëÎļþ.ÒòΪȱÉÙһЩͷÎļþ.ÄÇôÎÒÃǾÍÒªÀ´ÅäÖÃÕâЩͷÎļþ.ÔÚÕâÀïÎÒÃÇÐèÒª°²×°build-essentialÕâ¸öÈí¼þ
°ü£¬°²×°ÁËÕâ¸ö°ü»á×Ô¶¯°²×°ÉÏg++,libc6-dev,linux-libc-dev,libstdc++6-4.1-devµÈһЩ±ØÐëµÄÈí¼þºÍÍ·ÎÄ
¼þµÄ¿â.
°²×°build-essential,Äã¿ÉÒÔÔÚÐÂÁ¢µÃËÑË÷È»ºó°²×°»òÕßÔÚÖÕ¶ËÀïÊäÈë:
sudo apt-get install build-essential
2.
³ýÁ˱àÒëÆ÷Íâ,ÎÒÃÇ»¹ÐèÒªÒ»¸öÎı¾±à¼Æ÷.ÒòΪÎÒÃÇÐèÒª±à¼c³ÌÐòµÄ´úÂë.ÆäʵubuntuÓÐ×Ô´ø±à¼Æ÷,ÎÒÃÇ¿ÉÒÔ´´½¨Ò»¸öÎĵµ.È»ºóÊäÈë´úÂë,½²Ãû×Ö¸ÄΪ*.c. »¹¿ÉÒÔʹÓÃÁíÍâÒ»¸öÎı¾±à¼Æ÷vi. Èç¹ûÄãµÄubuntuûÓÐ.ÄÇÎÒÃÇ¿ÉÒÔÔÚÖÕ¶ËÊäÈë:
sudo apt-get install vim-full
Íê³ÉºóÎÒÃǾÍÓÐÒ»¸ö·Ç³£Ç¿´óµÄ±à¼Æ÷vi.
3.
Íê³ÉÒÔÉÏÁ½²½,Äã¾Í¿ÉÒÔ¿ªÊ¼±àÒëÄãubuntuÉϵÚÒ»¸öcÓïÑÔ³ÌÐò.
ÔÚÖ÷Îļþ¼ÐÖÐ,½¨Á¢Ò»¸öhello.cµÄÎļþ,Ë«»÷ÎļþÊäÈë´úÂë:
#include <stdio.h>
int
main(void)
{
printf("Hello,ubuntu!\n");
return 0;
}
È»ºó±£´æ.
ÓÖ»òÕßÄã¿ÉÒÔÔÚÖÕ¶ËÊäÈë:gvim hello.c
È»ºóͬÑùÊäÈë´úÂë±£´æ.
È»ºóÔÚÖÕ¶ËÊäÈë:
gcc -Wall hello.c -o hello
Èç¹ûûÓз¢ÏÖ´íÎó,ÄǾÍÔÙÊäÈë./hello
ÄÇôÔÚÖÕ¶ËÀï.Äã¾Í¿ÉÒÔ¿´µ½ÄãµÄ³ÌÐòÊä³ö:
Hello,ubuntu!
4.
Èç¹ûÄãÒª±àÒëc++,ÄÇÄã¾ÍÐèÒª½¨Á¢Ò»¸ö*.cppµÄÎļþ.È»ºóÔÚÖÕ¶ËÊäÈë:
g++ -Wall file.cpp -o file
./file
5.ͼÐλ·¾³ÅäÖÃ
°²×°GTK»·¾³
Ö»Òª°²×°Ò»¸ögnome-core-devel¾Í¿ÉÒÔÁË£¬ÀïÃæ¼¯³ÉÁ˺ܶàÆäËûµÄ°ü¡£³ý´ËÖ®Í⻹ҪתһЩÆäËûµÄ¶«Î÷£¬Èç
libglib2.0-doc¡¢libgtk2.0-doc°ïÖúÎĵµ£¬devhelp°ïÖúÎĵµ²é¿´£¬glade-gnome¡¢glade-common¡¢
glade-docͼÐνçÃæÉè¼ÆµÈ¡£
ÔÚÖÕ¶ËÊäÈëÒÔÏÂÃüÁî:
sudo apt-get install gnome-core-devel
sudo apt-get install libglib2.0-doc libgtk2.0-doc
sudo apt-get install devhelp
sudo apt-get install glade-gnome glade-common glade-doc
°²×°Íê³Éºó×ö¸ö²âÊÔ³ÌÐò
³ÌÐò´úÂë
#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello U
Ïà¹ØÎĵµ£º
×î½üÔÚ×ö³ÌÐòʱÐèҪʹÓÃÒ»¸öÒѾ±àºÃµÄC³ÌÐòÔ´Îļþ£¨ÓÐÍ·Îļþ£©£¬½«Í·Îļþ¼ÓÈëÒªµ÷ÓõÄÔ´ÎļþÖУ¬µ÷ÓÃÏàÓ¦Cº¯Êý£¬±àÒëʱ³öÏÖÈçÏ´íÎó£º
sss.c(3129) : fatal error C1010: unexpected end of file while looking for precompiled header directive
ÔÚÍøÉϲéÁËÏà¹Ø×ÊÁÏ£¬Ëµ²»ÄÜÔÚCÔ´ÎļþÖаüº¬"stdafx.h"Îļþ£¬
ÖªµÀÐèÒªÒ ......
C++²»¶¨²ÎÊýµÄÓ÷¨ £¨CÀàËÆ£©
2009-11-19 15:41
/*
va_list vl; //¶¨ÒåÒ»¸öÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿(Ò»¸ö...Ö¸Õë)
va_start(vl,first_param); //°ÑÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿³õʼ»¯
va_arg(vl,mode); //»ñÈ¡ÏÂÒ»¸ö²ÎÊý,²ÎÊýÀàÐÍÓɵڶþ¸ö²ÎÊýÖ¸¶¨,µÚ¶þ¸ö²ÎÊýÓÃÓÚÔÚva_argÄÚ²¿½øÐÐ³ß´ç¼ÆËã,ÒÔ±ãÕÒµ½ÏÂÒ»¸ö²ÎÊý
va_end(vl); //½áÊø
......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼Æ ......
CÓïÑÔÖУº
extern £ºextern£¨ÍⲿÒýÓã©¿ÉÒÔÖÃÓÚ±äÁ¿»òÕߺ¯Êýǰ£¬ÒÔ±êʾ±äÁ¿»òº¯ÊýµÄ¶¨ÒåÔÚ±ðµÄÎļþÖУ¬ÔÚÒ»¸öÎļþÖÐÓõ½µÄexternÕâЩ±äÁ¿»òº¯ÊýÊÇÍâÀ´µÄ£¬²»ÊDZ¾Îļþ¶¨ÒåµÄ£¬Ìáʾ±àÒëÆ÷Óöµ½´Ë±äÁ¿ºÍº¯ÊýʱÔÚÆäËûÄ£¿éÖÐѰÕÒÆä¶¨Òå¡£×¢Ò⣬ֻÓÐÆäËûÎļþÖеÄÈ«¾Ö±äÁ¿²ÅÄܱ»ÆäËûÎļþËùextern¡£
extern int val;
×¢£º
  ......
Ò»¸öÓÉC/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ³ÌÐòÔËÐÐʱÓɱàÒëÆ÷×Ô¶¯·ÖÅ䣬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£³ÌÐò½áÊøÊ±ÓɱàÒëÆ÷×Ô¶¯ÊÍ·Å¡£
2¡¢¶ÑÇø£¨heap£© — ÔÚÄڴ濪±ÙÁíÒ»¿é´æ´¢ÇøÓò¡£Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿É ......