ÔÚlinuxÏÂʹÓÃCMake¹¹½¨Ó¦ÓóÌÐò
ÔÚlinuxÏÂʹÓÃCMake¹¹½¨Ó¦ÓóÌÐò
c/c++ 2010-04-11 17:07:29 ÔĶÁ5 ÆÀÂÛ0 ×ֺţº´óÖÐС
±¾ÎĽéÉÜÁËÒ»¸ö¿çƽ̨µÄ×Ô¶¯»¯¹¹½¨ÏµÍ³ CMake ÔÚ linux ÉϵÄʹÓ÷½·¨¡£ CMake ÊÇÒ»¸ö±È automake ¸ü¼ÓÈÝÒ×ʹÓõŤ¾ß£¬Äܹ»Ê¹³ÌÐòÔ±´Ó¸´ÔӵıàÒëÁ¬½Ó¹ý³ÌÖнâÍѳöÀ´¡£ÎÄÖÐͨ¹ýһЩÀý×Ó½éÉÜʹÓà CMake ´¦Àí¶àÔ´ÎļþĿ¼µÄ·½·¨¡¢²éÕÒ²¢Ê¹ÓÃÆäËû¿ª·¢°üµÄ·½·¨ÒÔ¼°Éú³É debug °æºÍ release °æ³ÌÐòµÄ·½·¨¡£
CMake ¼ò½é
CMake ÊÇÒ»¸ö¿çƽ̨µÄ×Ô¶¯»¯½¨¹¹ÏµÍ³,ËüʹÓÃÒ»¸öÃûΪ CMakeLists.txt µÄÎļþÀ´ÃèÊö¹¹½¨¹ý³Ì,¿ÉÒÔ²úÉú±ê×¼µÄ¹¹½¨Îļþ,Èç Unix µÄ Makefile »òWindows Visual C++ µÄ projects/workspaces ¡£Îļþ CMakeLists.txt ÐèÒªÊÖ¹¤±àд,Ò²¿ÉÒÔͨ¹ý±àд½Å±¾½øÐаë×Ô¶¯µÄÉú³É¡£CMake ÌṩÁË±È autoconfig ¸ü¼ò½àµÄÓï·¨¡£ÔÚ linux ƽ̨ÏÂʹÓà CMake Éú³É Makefile ²¢±àÒëµÄÁ÷³ÌÈçÏÂ:
1.±àд CmakeLists.txt¡£
2.Ö´ÐÐÃüÁî “cmake PATH” »òÕß “ccmake PATH” Éú³É Makefile ( PATH ÊÇ CMakeLists.txt ËùÔÚµÄĿ¼ )¡£
3.ʹÓà make ÃüÁî½øÐбàÒë¡£
µÚÒ»¸ö¹¤³Ì
ÏÖ¼ÙÉèÎÒÃǵÄÏîÄ¿ÖÐÖ»ÓÐÒ»¸öÔ´Îļþ main.cpp
Çåµ¥ 1 Ô´Îļþ main.cpp
#include<iostream>
int main()
{
std::cout<<"Hello word!"<<std::endl;
return 0;
}
ΪÁ˹¹½¨¸ÃÏîÄ¿,ÎÒÃÇÐèÒª±àдÎļþ CMakeLists.txt ²¢½«ÆäÓë main.cpp ·ÅÔÚ Í¬Ò»¸öĿ¼ÏÂ:
Çåµ¥ 2 CMakeLists.txt
1 PROJECT(main)
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 AUX_SOURCE_DIRECTORY(. DIR_SRCS)
4 ADD_EXECUTABLE(main ${DIR_SRCS})
CMakeLists.txt µÄÓï·¨±È½Ï¼òµ¥,ÓÉÃüÁî¡¢×¢ÊͺͿոñ×é³É,ÆäÖÐÃüÁîÊDz»Çø·Ö´óСдµÄ,·ûºÅ"#"ºóÃæµÄÄÚÈݱ»ÈÏΪÊÇ×¢ÊÍ¡£ÃüÁîÓÉÃüÁîÃû³Æ¡¢Ð¡À¨ºÅºÍ²ÎÊý×é³É,²ÎÊýÖ®¼äʹ Óÿոñ½øÐмä¸ô¡£ÀýÈç¶ÔÓÚÇåµ¥2µÄ CMakeLists.txt Îļþ:µÚÒ»ÐÐÊÇÒ»ÌõÃüÁî,Ãû³ÆÊÇ PROJECT ,²ÎÊýÊÇ main ,¸ÃÃüÁî±íʾÏîÄ¿µÄÃû³ÆÊÇ main ¡£µÚ¶þÐеÄÃüÁîÏÞ¶¨ÁË CMake µÄ°æ±¾¡£µÚÈýÐÐʹÓÃÃüÁî AUX_SOURCE_DIRECTORY ½«µ±Ç°Ä¿Â¼ÖеÄÔ´ÎļþÃû³Æ¸³Öµ¸ø±äÁ¿ DIR_SRCS ¡£ CMake ÊÖ²áÖжÔÃüÁî AUX_SOURCE_DIRECTORY µÄÃèÊöÈçÏÂ:
aux_source_directory(<dir> <variabl
Ïà¹ØÎĵµ£º
LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......
do_exit() Function
-----------------------------------------------------------------------
kernel/exit.c
707 NORET_TYPE void do_exit(long code)
708 {
709 struct task_struct *tsk = current;
710
711 if (unlikely(in_interrupt()))
712 panic("Aiee, killing interrupt handler!");
713 if ......
1. Sockets ½éÉÜ
2. ÓòºÍµØÖ··ÖÀà
3. µØÖ·×ª»»º¯Êý
4. SocketÀàÐÍÒÔ¼°¸÷ÖÖÐÒé
5. ½«µØÖ·ºÍSocketÏà°ó¶¨
6. ÃæÏòÎÞÁ¬½ÓµÄÐÒé
7. ÃæÏòÁ¬½ÓµÄÐÒé
8. ·þÎñÆ÷¶ËµÄÃæÏòÁ¬½ÓÐÒé
9. Ö÷»úºÍÍøÂçÃû²éѯ
---------------------------------------------
10. ÔÚSocketÉÏʹÓñê×¼I/O
11. ²¢·¢¿Í»§ºÍ·þÎñÆ÷
12. Sock ......
Ç°ÃæËµ¹ý£¬Ö»ÒªÖªµÀÎļþµÄË÷Òý½ÚµãºÅ£¬¾Í¿ÉÒԵõ½ÄǸöÎļþ¡£µ«ÊÇÎÒÃÇÔÚ²Ù×÷Îļþʱ£¬´ÓûÌý˵˻áÄÃ×ÅË÷Òý½ÚµãºÅÀ´²Ù×÷Îļþ£¬ÎÒÃÇÖ»ÖªµÀÎļþÃû¶øÒÑ¡£ ËüÃÇÊÇÈçºÎ"ºÍг"ÆðÀ´µÄÄØ£¿linux°ÑĿ¼Ҳ¿´³ÉÒ»ÖÖÎļþ£¬ÀïÃæ¼Ç¼×ÅÎļþÃûÓëË÷Òý½ÚµãºÅµÄ¶ÔÓ¦¹ØÏµ£¨Ä¿Â¼´æÔÚµÄÔÒò£©¡£±ÈÈçÔÚext3ÎļþϵͳÖУ¬Èç¹ûÎļþÊÇÒ»¸öÄ¿  ......
ÔÚPOSIXÖУ¬±ãÓÐ×ÅÖ§³ÖÕýÔò±í´ïʽµÄϵͳº¯Êý¡£GNU/LinuxÓÐÁ½Ì׿â¿ÉÓÃÓÚÕýÔò±í´ïʽ±à³Ì£ºPOSIX¿âºÍPCRE¿â¡£Ç°Õß²»ÐèÒªµ¥¶À°²×°£¬Ò»°ãÐèÇó»¹ÊÇÄÜÂú×ãµÄ£¬ËÙ¶ÈÉÔÂýЩ¡£ºóÕßÊǾøºÊ¢ÃûµÄPerlÕýÔò±í´ïʽ¿â£¬¹¦ÄÜÇ¿´ó£¬Æ¥ÅäËٶȿ죬²»¹ý¿ÉÄÜÐèÒªµ¥¶À°²×°¡£
int regcomp (regex_t *compiled, const char *pattern, int cflags)
& ......