9)LinuxÏÂC¿ª·¢¹¤¾ß½éÉÜ
9)LinuxÏÂC¿ª·¢¹¤¾ß½éÉÜ
LinuxµÄ·¢ÐаæÖаüº¬Á˺ܶàÈí¼þ¿ª·¢¹¤¾ß. ËüÃÇÖеĺܶàÊÇÓÃÓÚ C ºÍ C++Ó¦ÓóÌÐò¿ª·¢
µÄ. ±¾ÎĽéÉÜÁËÔÚ Linux ÏÂÄÜÓÃÓÚ C Ó¦ÓóÌÐò¿ª·¢ºÍµ÷ÊԵŤ¾ß. ±¾ÎĵÄÖ÷Ö¼ÊǽéÉÜÈç
ºÎÔÚ Linux ÏÂʹÓà C ±àÒëÆ÷ºÍÆäËû C ±à³Ì¹¤¾ß, ¶ø·Ç C ÓïÑÔ±à³ÌµÄ½Ì³Ì.
GNU C ±àÒëÆ÷
GNU C ±àÒëÆ÷(GCC)ÊÇÒ»¸öÈ«¹¦ÄÜµÄ ANSI C ¼æÈݱàÒëÆ÷. Èç¹ûÄãÊìϤÆäËû²Ù×÷ϵͳ»òÓ²
¼þƽ̨ÉϵÄÒ»ÖÖ C ±àÒëÆ÷, Ä㽫ÄÜºÜ¿ìµØÕÆÎÕ GCC. ±¾½Ú½«½éÉÜÈçºÎʹÓà GCC ºÍһЩ
GCC ±àÒëÆ÷×î³£ÓõÄÑ¡Ïî.
ʹÓà GCC
ͨ³£ºó¸úһЩѡÏîºÍÎļþÃûÀ´Ê¹Óà GCC ±àÒëÆ÷. gcc ÃüÁîµÄ»ù±¾Ó÷¨ÈçÏÂ:
gcc [options] [filenames]
ÃüÁîÐÐÑ¡ÏîÖ¸¶¨µÄ²Ù×÷½«ÔÚÃüÁîÐÐÉÏÿ¸ö¸ø³öµÄÎļþÉÏÖ´ÐÐ. ÏÂһС½Ú½«ÐðÊöһЩÄã»á×î
³£Óõ½µÄÑ¡Ïî.
GCC Ñ¡Ïî
GCC Óг¬¹ý100¸öµÄ±àÒëÑ¡Ïî¿ÉÓÃ. ÕâЩѡÏîÖеÄÐí¶àÄã¿ÉÄÜÓÀÔ¶¶¼²»»áÓõ½, µ«Ò»Ð©Ö÷
ÒªµÄÑ¡Ï»áƵ·±Óõ½. ºÜ¶àµÄ GCC Ñ¡Ïî°üÀ¨Ò»¸öÒÔÉϵÄ×Ö·û. Òò´ËÄã±ØÐëΪÿ¸öÑ¡Ïî
Ö¸¶¨¸÷×ÔµÄÁ¬×Ö·û, ²¢ÇÒ¾ÍÏó´ó¶àÊý Linux ÃüÁîÒ»ÑùÄã²»ÄÜÔÚÒ»¸öµ¥¶ÀµÄÁ¬×Ö·ûºó¸úÒ»
×éÑ¡Ïî. ÀýÈç, ÏÂÃæµÄÁ½¸öÃüÁîÊDz»Í¬µÄ:
gcc -p -g test.c
gcc -pg test.c
µÚÒ»ÌõÃüÁî¸æËß GCC ±àÒë test.c ʱΪ prof ÃüÁÁ¢ÆÊÎö(profile)ÐÅÏ¢²¢ÇҰѵ÷ÊÔÐÅ
Ï¢¼ÓÈëµ½¿ÉÖ´ÐеÄÎļþÀï. µÚ¶þÌõÃüÁîÖ»¸æËß GCC Ϊ gprof ÃüÁÁ¢ÆÊÎöÐÅÏ¢.
µ±Äã²»ÓÃÈκÎÑ¡Ïî±àÒëÒ»¸ö³ÌÐòʱ, GCC ½«»á½¨Á¢(¼Ù¶¨±àÒë³É¹¦)Ò»¸öÃûΪ a.out µÄ¿É
Ö´ÐÐÎļþ. ÀýÈç, ÏÂÃæµÄÃüÁÔÚµ±Ç°Ä¿Â¼Ï²úÉúÒ»¸ö½Ð a.out µÄÎļþ:
gcc test.c
ÄãÄÜÓà -o ±àÒëÑ¡ÏîÀ´Îª½«²úÉúµÄ¿ÉÖ´ÐÐÎļþÖ¸¶¨Ò»¸öÎļþÃûÀ´´úÌæ a.out. ÀýÈç, ½«Ò»
¸ö½Ð count.c µÄ C ³ÌÐò±àÒëΪÃû½Ð count µÄ¿ÉÖ´ÐÐÎļþ, Ä㽫ÊäÈëÏÂÃæµÄÃüÁî:
gcc -o count count.c
------------------------------------------------------------------------------
--
×¢Òâ: µ±ÄãʹÓà -o Ñ¡Ïîʱ, -o ºóÃæ±ØÐë¸úÒ»¸öÎļþÃû.
------------------------------------------------------------------------------
--
GCC ͬÑùÓÐÖ¸¶¨±àÒëÆ÷´¦Àí¶àÉٵıàÒëÑ¡Ïî. -c Ñ¡Ïî¸æËß GCC ½ö°ÑÔ´´úÂë±àÒëΪĿ±ê´ú
Âë¶øÌø¹ý»ã±àºÍÁ¬½ÓµÄ²½Öè. Õâ¸öÑ¡ÏîʹÓõķdz£Æµ·±ÒòΪËüʹµÃ±àÒë¶à¸ö C ³ÌÐòʱËÙ
¶È¸ü¿ì²¢ÇÒ¸üÒ×ÓÚ¹ÜÀí. ȱʡʱ GCC ½¨Á¢µÄÄ¿±ê´úÂëÎļþÓÐÒ»¸ö .o µÄÀ©Õ¹Ãû.
-S ±àÒëÑ¡Ïî¸æËß GCC ÔÚΪ C ´úÂë²úÉúÁË»ã±àÓïÑÔÎļþºóÍ£Ö¹±àÒ
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......
ÓÐʱºòÔÚ³ÌÐòÀïÃæÐèÒª´ò¿ª¶à¸öÎļþ£¬½øÐзÖÎö£¬ÏµÍ³Ò»°ãĬÈÏÊýÁ¿ÊÇ1024£¬£¨ÓÃulimit -a¿ÉÒÔ¿´µ½£©¶ÔÓÚÕý³£Ê¹ÓÃÊǹ»ÁË£¬µ«ÊǶÔÓÚ³ÌÐòÀ´½²£¬¾ÍÌ«ÉÙÁË¡£
Ð޸İ취£º
ÖØÆô¾ÍOK
ÐÞ¸Ä2¸öÎļþ¡£
1./etc/security/limits.conf
vi /etc/security/limits.conf
¼ÓÉÏ£º
* soft nofile 8192
* hard nofile 20480
2./etc/pam.d/l ......
1. È¥http://java.sun.com/javase/downloads/index.jspÏÂÔØÒ»¸öLinux PlatformµÄJDK¡£
2. ÉÏÔØ
# chmod 755 jdk-6u2-linux-i586-rpm.bin
# ./jdk-6u2-linux-i586-rpm.bin
3. ³ÌÐò»á×Ô¶¯Éú³ÉÎļþ
Ö´ÐÐ
# rpm -ivh jdk-6u11-linux-i586.rpm
4. ÉèÖû·¾³±äÁ¿
  ......
ºÜÔçÒÔǰ,¾ÍÏë°Ñ×Ô¼ºÔÚ¿ª·¢ÏîĿʱ¹ØÓÚlinuxÊØ»¤½ø³ÌµÄ¼¼ÊõÕûÀíÒ»ÏÂ,·¢±íһƪÎÄÕÂ.½ñÌìÔÚÍøÉÏżȻÅöµ½ÓÐһƪдµÄͦ²»´íµÄÎÄÕÂ,ÕýºÃ¿ÉÒÔתÌù¹ýÀ´ºÍ´ó¼Ò·ÖÏí.
Linux Deamon±à³Ì·½·¨
ÊØ»¤½ø³Ì£¨Daemon£©ÊÇÔËÐÐÔÚºǫ́µÄÒ»ÖÖÌØÊâ½ø³Ì¡£Ëü¶ÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖ ......
ÔÚ±à³ÌµÄ¹ý³ÌÖУ¬ÎļþµÄ²Ù×÷ÊÇÒ»¸ö¾³£Óõ½µÄÎÊÌ⣬ÔÚC++BuilderÖУ¬¿ÉÒÔʹÓöàÖÖ·½·¨¶ÔÎļþ²Ù×÷£¬ÏÂÃæÎҾͰ´ÒÔϼ¸¸ö²¿·Ö¶Ô´Ë×÷Ïêϸ½éÉÜ£¬¾ÍÊÇ£º
1¡¢»ùÓÚCµÄÎļþ²Ù×÷£»
2¡¢»ùÓÚC++µÄÎļþ²Ù×÷£»
3¡¢»ùÓÚWINAPIµÄÎļþ²Ù×÷£»
4¡¢»ùÓÚBCB¿âµÄÎļþ²Ù×÷£»
5¡¢ÌØÊâÎļþµÄ²Ù×÷¡£
¡¡
Ò¼¡¢»ùÓÚCµÄÎļþ²Ù×÷
¡¡¡¡ÔÚA ......