ÔÚ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
Ïà¹ØÎĵµ£º
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 ......
select()µÄ»úÖÆÖÐÌṩһfd_setµÄÊý¾Ý½á¹¹£¬Êµ¼ÊÉÏÊÇÒ»longÀàÐ͵ÄÊý×飬 ÿһ¸öÊý×éÔªËØ¶¼ÄÜÓëÒ»´ò¿ªµÄÎļþ¾ä±ú£¨²»¹ÜÊÇSocket¾ä±ú,»¹ÊÇÆäËû Îļþ»òÃüÃû¹ÜµÀ»òÉ豸¾ä±ú£©½¨Á¢ÁªÏµ£¬½¨Á¢ÁªÏµµÄ¹¤×÷ÓɳÌÐòÔ±Íê³É£¬ µ±µ÷ÓÃselect()ʱ£¬ÓÉÄں˸ù¾ÝIO״̬ÐÞ¸Äfd_setµÄÄÚÈÝ£¬ÓÉ´ËÀ´Í¨ÖªÖ´ ÐÐÁËselect()µÄ½ø³ÌÄ ......
Linux/UNIX C++¸ß¼¶Åàѵ---Ô¶³Ì°à
http://www.xuanyuan-soft.cn/index.php?option=com_content&view=article&id=84&Itemid=85
¿Î³Ì¸ÅÒª
ÅàÑøÄ¿±ê
£ºLinux/UNIX C++Èí¼þ¹¤³Ìʦ
רעLinux/UNIX·þÎñÆ÷¶ËµÄÈí¼þ¿ª·¢£¨ºǫ́¿ª·¢£©£¬ÅàÑøÆóÒµËùÐèµÄרҵLinux/UNIX C ......