Linux ϱàÒëC³ÌÐò
GCC Ö§³ÖÁËÐí¶à²»Í¬µÄÓïÑÔ£¬°üÀ¨ C¡¢C++¡¢Ada¡¢Fortran¡¢Objective C,Perl¡¢Python ºÍ Ruby£¬ÉõÖÁ»¹ÓÐJava¡£
¡¡¡¡Linux Äں˺ÍÐí¶àÆäËû×ÔÓÉÈí¼þÒÔ¼°¿ª·ÅÔ´ÂëÓ¦ÓóÌÐò¶¼ÊÇÓà C ÓïÑÔ±àд²¢Ê¹Óà GCC ±àÒëµÄ¡£
¡¡¡¡±àÒëC++³ÌÐò£º
¡¡¡¡-c Ö»±àÒë²»Á¬½Ó
¡¡¡¡g++ file1 -c -o file1.o
¡¡¡¡g++ file2 -c -o file2.o
¡¡¡¡g++ file1.o file.o -o exec
¡¡¡¡g++ -c a.cpp ±àÒë
¡¡¡¡g++ -o a a.o Éú³É¿ÉÖ´ÐÐÎļþ
¡¡¡¡Ò²¿ÉÒÔ g++ -o a a.cppÖ±½ÓÉú³É¿ÉÖ´ÐÐÎļþ¡£
¡¡¡¡1. ±àÒëµ¥¸öÔ´Îļþ
¡¡¡¡ÎªÁ˽øÐвâÊÔ£¬Äã¿ÉÒÔ´´½¨“Hello World”³ÌÐò£º
¡¡¡¡#include <stdio.h>
¡¡¡¡#include <stdlib.h>
¡¡¡¡int main(int argc, char **argv)
¡¡¡¡{
¡¡¡¡printf(“Hello world!\n”);
¡¡¡¡exit(0);
¡¡¡¡}
¡¡¡¡Ê¹ÓÃÈçÏÂÃüÁî±àÒë²¢²âÊÔÕâ¸ö´úÂ룺
¡¡¡¡# gcc -o hello hello.c
¡¡¡¡# ./hello
¡¡¡¡Hello wordl!
¡¡¡¡ÔÚĬÈÏÇé¿öϲúÉúµÄ¿ÉÖ´ÐгÌÐòÃûΪa.out£¬µ«Äãͨ³£¿ÉÒÔͨ¹ý gcc µÄ“-o”Ñ¡ÏîÀ´Ö¸¶¨×Ô¼ºµÄ¿ÉÖ´ÐгÌÐòÃû³Æ¡£
¡¡¡¡2. ±àÒë¶à¸öÔ´Îļþ
¡¡¡¡Ô´Îļþmessage.c°üº¬Ò»¸ö¼òµ¥µÄÏûÏ¢´òÓ¡º¯Êý£º
¡¡¡¡#include <stdio.h>
¡¡¡¡void goodbye_world(void)
¡¡¡¡{
¡¡¡¡printf(“Goodbye, world!\n”);
¡¡¡¡}
¡¡¡¡Ê¹ÓÃgccµÄ“-c”±ê¼ÇÀ´±àÒëÖ§³Ö¿â´úÂ룺
¡¡¡¡# gcc -c message.c
¡¡¡¡ÕâÒ»¹ý³ÌµÄÊä³ö½á¹ûÊÇÒ»¸öÃûΪmessage.oµÄÎļþ£¬Ëü°üº¬ÊʺÏÁ¬½Óµ½Ò»¸ö½Ï´ó³ÌÐòµÄÒѱàÒëÄ¿±ê´úÂë¡£
¡¡¡¡´´½¨Ò»¸ö¼òµ¥µÄʾÀý³ÌÐò£¬Ëü°üº¬Ò»¸öµ÷ÓÃgoodbye_worldµÄmainº¯Êý
¡¡¡¡#include <stdlib.h>
¡¡¡¡void goodbye_world(void):
¡¡¡¡int main(int argc, char **argv)
¡¡¡¡{
¡¡¡¡goodbye_world();
¡¡¡¡exit(0);
¡¡¡¡}
¡¡¡¡Ê¹ÓÃGCC±àÒëÕâ¸ö³ÌÐò£º
¡¡¡¡# gcc -c main.c
¡¡¡¡ÏÖÔÚÓÐÁËÁ½¸öÄ¿±êÎļþ£º message.o ºÍ main.o ¡£ËüÃǰüº¬Äܹ»±» Linux Ö´ÐеÄÄ¿±ê´úÂë¡£Òª´ÓÕâ¸öÄ¿±ê´úÂë´´½¨Linux¿ÉÖ´ÐгÌÐò£¬ÐèÒªÔÙÒ»´Îµ÷Óà GCC À´Ö´ÐÐÁ¬½Ó½×¶ÎµÄ¹¤×÷£º
¡¡¡¡# gcc -o goodbye message.o main.o
¡¡¡¡ÔËÐбàÒë½á¹û£º
¡¡¡¡# ./goodbye
¡¡¡¡Goodbye, world!
¡¡¡¡Ç°ÃæÕâЩµ¥¶ÀµÄ²½ÖèÒ²¿ÉÒÔ¼ò»¯ÎªÒ»¸öÃüÁÕâÊÇÒòΪ GCC ¶ÔÈçºÎ½«¶à¸öÔ´Îļþ±àÒëΪ
Ïà¹ØÎĵµ£º
Linux MakefileÎļþµÄ½éÉÜ
1. Makefile½éÉÜ
×¢ÒâÊÇ“Makefile”£¬µÚÒ»¸ö×Öĸ´óд£¬ÆäÓàµÄ¶¼ÊÇСд¡£Makefile¹ØÏµµ½ÁËÕû¸ö¹¤³ÌµÄ±àÒë¹æÔò£¬Ò»¸ö¹¤³ÌÖеÄÔ´Îļþ²»¼ÆÊý£¬Æä°´ÀàÐÍ¡¢¹¦ÄÜ¡¢Ä£¿é·Ö±ð·ÅÔÚÈô¸É¸öĿ¼ÖУ¬Makefile¶¨ÒåÁËһϵÁеĹæÔòÀ´Ö¸¶¨£¬ÄÄЩÎļþÐèÒªÏȱàÒ룬 ......
1) LinuxÖÐÖ÷ÒªÓÐÄļ¸ÖÖÄÚºËËø£¿
2) LinuxÖеÄÓû§Ä£Ê½ºÍÄÚºËģʽÊÇʲôº¬Ò⣿
3) ÔõÑùÉêÇë´ó¿éÄÚºËÄڴ棿
4) Óû§½ø³Ì¼äͨÐÅÖ÷ÒªÄļ¸ÖÖ·½Ê½£¿
5) ͨ¹ý»ï°éÏ ......
vi vim ʹÓÃ
vim ±à¼Æ÷
Ê×Ïȼòµ¥µÄ˵һÏÂvi±à¼Æ÷©¤©¤unixµÄͨÓÃ±à¼Æ÷£¬
¶Á×÷vee-eye (visual editorµÄ¼òд)¡£
(ÕâÀïµÄvim£¬ÊǸĽøµÄvi£¬ Vi Improved¼òд£¬Vim ÓÉBram Moolenaar±àд)
viµÄ¹¤×÷ģʽ
·ÖΪÃüÁîģʽºÍ²åÈëģʽ ÒÔ¼° : exģʽ;
°´esc¼ü¾Í¿ÉÒÔÈÃvi½øÈëÃüÁîģʽ;
²åÈëģʽ¾ÍÊÇÄãÊäÈëÎı¾µÄģʽÁË¡£
......
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@ËÎÌå" ......
½ñÌìÔÚдµ½ÓÃcÀ´½âÎöpostÊý¾ÝµÄʱºòÐèÒªÓõ½Ò»¸öÊý×é±äÁ¿À´·ÅpostµÄËùÓÐÊý¾ÝµÈ×ÅÀ´½âÎö£¬²»ÏëÌ«ÀË·ÑÄÚ´æÁË¡£ÓÚÊÇÏë×ÅÏÈÉêÇëÒ»¸ö×î´óÍþ¶ûŶcontent_length´óСµÄÊý×éÔÙ˵¡£µ«ÊDz»ÔÊÐíÓñäÁ¿À´¡£±ÈÈç
int length = atoi(getenv("CONTENT_LENGTH"));
char params[length];
memset(params, '\0', length);
ÄÇôchar para ......