¸ß¼¶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
Ïà¹ØÎĵµ£º
½ñÌì×Ô¼ºÑ§Ï° LinuxÉ豸Çý¶¯³ÌÐò µÚÈý°æ µÚ15Õ ÄÚ´æÓ³ÉäºÍDMA. ¸Ð¾õÓеã³ÔÁ¦¡£Ö÷ÒªÊǶÔÄÚ´æÓ³ÉäºÜ¶àÊõÓïºÍ¸ÅÄî²»ÊǺÜÇå³þ£¬Àí½âÆðÀ´Óеã·Ñ¾¢¡£
ºóÀ´½áºÏÓ¢ÎÄ԰棬¾²ÏÂÐÄÀ´×Ðϸѧϰ£¬²ÅËãÊÇÓÐÁËÒ»µã½øÕ¹¡£
ÏÖÔÚÔÚÕâÀï×öÒ»¸ö±Ê¼Ç£¬ÒÔ±¸ÒÔºó¸´Ï°Óá£
µÍ¶ËÄÚ´æºÍ¸ß¶ËÄÚ´æ
ÊéÖеÄͼ15-1ÓеãÎóµ¼ÈË¡£Í¼Öн« ÄÚºËÐéÄâµØÖ· ºÍ ......
¡¡¡¡Linux»ù½ð»áÖ´ÐжÊÂJim ZemlinÉù³ÆLinuxµÄÊг¡µØÎ»Ê®·ÖÎȹ̣¬¾¡¹Ü¼¸Î»LinuxÄں˵Ĺؼüά»¤ÕßÒѾͷ·¢»¨°×¡£
¡¡¡¡Linux Weekly NewsµÄÖ÷±àJonathan CorbetÔÚÉÏÖܾÙÐеÄLinux»ù½ð»áÐ×÷·å»áÉÏÌôÃ÷ÁËÕâÒ»ÎÊÌ⣬ËûÖ¸³öLinuxÄÚºËÍŶӵÄÄêÁäÒ»Äê±ÈÒ»Ä곤£¬¶øÄêÇáÒ»´úµÄ¿ª·¢ÕßûÓвÎÓë½øÀ´¡£ÎªÊ²Ã´LinuxÏÖÔÚÎÞ·¨ÎüÒýÄêÇῪ·¢ ......
sourceÃüÁî(´Ó C Shell ¶øÀ´)ÊÇbash shellµÄÄÚÖÃÃüÁî¡£µãÃüÁ¾ÍÊÇÒ»¸öµã·ûºÅ£¬(´ÓBourne Shell¶øÀ´)ÊÇsourceµÄÁíÒ»Ãû³Æ¡£ÕâÁ½¸öÃüÁî¶¼ÒÔÒ»¸ö½Å±¾Îª²ÎÊý£¬¸Ã½Å±¾½«×÷Ϊµ±Ç°shellµÄ»·¾³Ö´ÐУ¬¼´²»»áÆô¶¯Ò»¸öеÄ×Ó½ø³Ì¡£ËùÓÐÔڽű¾ÖÐÉèÖõıäÁ¿½«³ÉΪµ±Ç°ShellµÄÒ»²¿·Ö¡£Í¬ÑùµÄ£¬µ±Ç°½Å±¾ÖÐÉèÖõıäÁ¿Ò²½«×÷Ϊ½Å±¾µÄ»·¾³£¬s ......
ת£ºhttp://www.nounix.com/linux-explore-the-legend-of-the-beginning-of-the-first-act-14577/
<Linux ̽Ë÷>
µÄÄ¿µÄÊǰïÖúÄúÈÏʶLinux Õâ¸ö²©´ó¾«ÉîµÄ²Ù×÷ϵͳ²úÆ·£¬Èç¹ûÄú´ø×ÅÏë³ÉΪר¼Ò»òÕß¶¥¼âLinux ÈËÎïÀ´¿´±¾Îĵϰ£¬Äú¿Ï¶¨ÒªÊ§ÍûÁË¡£ÒòΪÎÒ×Ô¼ºÒ²»¹ÊÇLinux µÄ³õѧÕߣ¬ÔõôÄܹ»Ð´³öÈÃÄú³ÉΪ¸ßÊÖµÄÎÄÕ£¿£¨Ð ......
linuxÔÚ2.6°æ±¾ÒÔºó½«ÅäÖÃÎļþÓÉÔÀ´µÄconfig.in¸ÄΪkconfig£¬¶ÔÓÚkconfigµÄÓï·¨ÔÚ/Documentation/kbuild/kconfig-language.txtÖÐ×öÁËÏêϸµÄ˵Ã÷£¬ÔÚÕâÀï¸ø³ökconfig-language.txtµÄÖÐÎİ档
½éÉÜ
----
ÔÚÅäÖÃÊý¾Ý¿âµÄÅäÖÃÑ¡ÏîÊÇÒÔÊ÷µÄÐÎʽ×éÖ¯µÄ£º
+- Code maturity level options
| +- ......