[ת]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++ÓïÑÔʵÏÖ¶¯Ì¬Êý×é
CÊý×éµÄСÎÊÌâ
ÕâÀï˵µÄ¶¯Ì¬Êý×éÊÇ¿ÉÒÔ¸ù¾ÝÐèÒª¶¯Ì¬Ôö³¤Õ¼ÓÃÄÚ´æµÄÊý×飬±ÈÈç³ÌÐò³õʼ·ÖÅäÁË100¸öÔªËØ£¬¿ÉÊÇÔËÐÐÁËÒ»¶Îʱ¼äºóÇøÇø100¸ö¿Õ¼ä²»ÄÜÂú×ãÁË£¬ÏÖÔÚÐèÒª400¸ö£¬Ôõô°ìÄØ£»Äǿ϶¨ÐèÒªÔÙ¶îÍâ·ÖÅä300¸ö¡£
CÓïÑÔÓÐrealloc()º¯ÊýÀ´½â¾ö¿Õ¼ä ......
CÓïÑÔÖУº
extern £ºextern£¨ÍⲿÒýÓã©¿ÉÒÔÖÃÓÚ±äÁ¿»òÕߺ¯Êýǰ£¬ÒÔ±êʾ±äÁ¿»òº¯ÊýµÄ¶¨ÒåÔÚ±ðµÄÎļþÖУ¬ÔÚÒ»¸öÎļþÖÐÓõ½µÄexternÕâЩ±äÁ¿»òº¯ÊýÊÇÍâÀ´µÄ£¬²»ÊDZ¾Îļþ¶¨ÒåµÄ£¬Ìáʾ±àÒëÆ÷Óöµ½´Ë±äÁ¿ºÍº¯ÊýʱÔÚÆäËûÄ£¿éÖÐѰÕÒÆä¶¨Òå¡£×¢Ò⣬ֻÓÐÆäËûÎļþÖеÄÈ«¾Ö±äÁ¿²ÅÄܱ»ÆäËûÎļþËùextern¡£
extern int val;
×¢£º
  ......
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔ ......