¸ß¼¶Linux³ÌÐòÉè¼ÆµÚÒ»Õ£ºÈëÃÅ
1¡¢ÓÃGCC±àÒë
1.1¡¢´´½¨Ô´Îļþ
(main.c) C Ô´Îļþ - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
int i;
i = atoi (argv[1]);
printf (“The reciprocal of %d is %g\n”, i, reciprocal (i));
return 0;
}
(reciprocal.cpp) C++ Ô´Îļþ - reciprocal.cpp
#include
#include “reciprocal.hpp”
double reciprocal (int i) {
// I should be non-zero.
assert (i != 0);
return 1.0/i;
}
(reciprocal.hpp) Í·Îļþ - reciprocal.hpp
#ifdef __cplusplus
extern “C” {
#endif
extern double reciprocal (int i);
#ifdef __cplusplus
}
#endif
1.2¡¢±àÒëÔ´Îļþ
±àÒëmain.c:
% gcc -c main.c
±àÒëreciprocal.cpp:
% g++ -c reciprocal.cpp
²ÎÊý-IÖ¸¶¨ËÑË÷Í·ÎļþµÄλÖá£
ĬÈÏÇé¿öÏ£¬GCCÔÚµ±Ç°Îļþ¼Ð¼°±ê×¼¿âµÄÍ·ÎļþËùÔÚµÄÎļþ¼ÐÀ´ËÑË÷Í·Îļþ¡£
% g++ -c -I ../include reciprocal.cpp
¿ÉÒÔÓòÎÊý-DÔÚÃüÁîÐÐÉ趨ºê(macro)£¬²¢ÇÒ¿ÉÒÔÉ趨ºêµÄÖµ
¶ÔÓÚÈçϳÌÐòdefinemacro.c:
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char** argv){
int i = 3;
#ifdef CHANGEVALUE
i = 4;
#endif
printf("i = %d\n", i);
printf("PT = %f\n", PI);
}
Èç¹û±àÒëʱÃüÁîÐÐΪgcc definemacro.c£¬»á±¨‘PI’ undeclared´íÎó¡£
Èç¹û±àÒëʱÃüÁîÐÐΪgcc -D PI=3.14 definemacro.c£¬ÔòÊä³öÈçÏ£º
i = 3
PT = 3.140000
Èç¹û±àÒëʱÃüÁîÐÐΪgcc -D PI=3.14 -D CHANGEVALUE definemacro.c£¬ÔòÊä³öÈçÏ£º
i = 4
PT = 3.140000
¿ÉÒÔÓÃGCC±àÒëʱÓÅ»¯´úÂë.
% g++ -c -O2 reciprocal.cpp
1.3¡¢Á´½Ó¶ÔÏóÎļþ
g++¿ÉÒÔ½«.o¶ÔÏóÎļþÁ´½Ó³É³ÌÐò
% g++ -o reciprocal main.o reciprocal.o
Èç¹ûÏëÁ´½ÓÆäËû¿âÎļþ£¬ÔòÓòÎÊý-I
ÀýÈçÓûÁ´½Ó¿âlibpam.a£¬ÔòÓÃÈçÏÂÃüÁîÐУ¬±àÒëÆ÷»á×Ô¶¯¼ÓÉÏǰ׺libºÍºó׺.a
% g++ -o reciprocal mai
Ïà¹ØÎĵµ£º
sourceÃüÁî(´Ó C Shell ¶øÀ´)ÊÇbash shellµÄÄÚÖÃÃüÁî¡£µãÃüÁ¾ÍÊÇÒ»¸öµã·ûºÅ£¬(´ÓBourne Shell¶øÀ´)ÊÇsourceµÄÁíÒ»Ãû³Æ¡£ÕâÁ½¸öÃüÁî¶¼ÒÔÒ»¸ö½Å±¾Îª²ÎÊý£¬¸Ã½Å±¾½«×÷Ϊµ±Ç°shellµÄ»·¾³Ö´ÐУ¬¼´²»»áÆô¶¯Ò»¸öеÄ×Ó½ø³Ì¡£ËùÓÐÔڽű¾ÖÐÉèÖõıäÁ¿½«³ÉΪµ±Ç°ShellµÄÒ»²¿·Ö¡£Í¬ÑùµÄ£¬µ±Ç°½Å±¾ÖÐÉèÖõıäÁ¿Ò²½«×÷Ϊ½Å±¾µÄ»·¾³£¬s ......
Õýʽ¿ªÊ¼Ó¦ÓÃlinux£¬Êµ¼ù»¹ÊǺÜÖØÒªµÄ£¬ÃüÁî²»ÊDZ³³öÀ´µÄ£¬ÊÇʵ¼ù³öÀ´µÄ
LinuxѧϰµÄ·Ïßͼ£º
1£® ÕÆÎÕÖÁÉÙ50¸öÒÔÉϵij£ÓÃÃüÁî¡£
2£® ÊìϤGnome/KDEµÈX-windows×ÀÃæ»·¾³²Ù×÷ ¡£
3£® ÕÆÎÕ.tgz¡¢.rpmµÈÈí¼þ°üµÄ³£Óð²×°·½·¨
4£® ѧϰÌí¼ÓÍâÉ裬°²×°É豸Çý¶¯³ÌÐò£¨±ÈÈçÍø¿¨£©
5£® ÊìϤGrub/LiloÒýµ¼Æ÷¼°¼òµ¥µÄÐÞ¸´² ......
sambaʵÏÖubuntu¸úwindowsÎļþ¹²Ïí
Ò»£® Samba ¼ò½é
Samba£¨SMBÊÇÆäËõд£© ÊÇÒ»¸öÍøÂç·þÎñÆ÷£¬ÓÃÓÚLinuxºÍWindows¹²ÏíÎļþÖ®Óã»Samba ¼´¿ÉÒÔÓÃÓÚWindowsºÍLinuxÖ®¼äµÄ¹²ÏíÎļþ£¬Ò²Ò»ÑùÓÃÓÚLinuxºÍLinuxÖ®¼äµÄ¹²ÏíÎļþ£»²»¹ý¶ÔÓÚLinuxºÍLinuxÖ®¼ä¹²ÏíÎļþÓиüºÃµÄÍøÂçÎļþϵͳNFS£¬NFSÒ²ÊÇÐèÒª¼ÜÉè·þÎñÆ÷µÄ£»
´ó¼ÒÖª ......
ÔÚlinuxÏÂÒ»Ö±±»ÎÞ·¨Ò»ÏÂɾ³ýºÜ¶àÎļþ£¨³¬¹ý1024£©µÄÎÊÌâÀ§ÈÅ£»½ñÌìÕÒÁËһϣ¬·¢ÏÖÓÐÒ»¸öºÜ¼òµ¥µÄ½â¾ö°ì·¨¡£ÔÚterminalÖÐÊäÈë
flora03:/scratch/weibinli> find . -name 'Rubidium*' | xargs rm
¸ÃÃüÁîÒ»ÏÂ×Ó ½«ËùÓÐÒÔRubidium¿ªÍ·µÄÎļþɾ³ýµô¡£ÒÔ´ËÀàÍÆ£¬Ó¦¸Ã¿ÉÒÔ½«rm¸ÄΪcpÒ»´Îcopy´óÊýÄ¿µÄÎļþ¡£
......
linuxÔÚ2.6°æ±¾ÒÔºó½«ÅäÖÃÎļþÓÉÔÀ´µÄconfig.in¸ÄΪkconfig£¬¶ÔÓÚkconfigµÄÓï·¨ÔÚ/Documentation/kbuild/kconfig-language.txtÖÐ×öÁËÏêϸµÄ˵Ã÷£¬ÔÚÕâÀï¸ø³ökconfig-language.txtµÄÖÐÎİ档
½éÉÜ
----
ÔÚÅäÖÃÊý¾Ý¿âµÄÅäÖÃÑ¡ÏîÊÇÒÔÊ÷µÄÐÎʽ×éÖ¯µÄ£º
+- Code maturity level options
| +- ......