LinuxÄÚºËÈëÃÅ£¨Æߣ©—— ±ØÒªµÄ±àÒë֪ʶ
ËùÓеÄÄں˴úÂ룬»ù±¾¶¼°üº¬ÁËinclude/linux/compile.hÕâ¸öÎļþ£¬ËùÒÔËüÊÇ»ù´¡£¬º¸ÇÁË·ÖÎöÄÚºËËùÐèÒªµÄһЩÁбàÒë֪ʶ£¬±¾²©¾Í·ÖÎö·ÖÎöÕâ¸öÎļþÀïµÄ´úÂ룺
#ifndef __LINUX_COMPILER_H
#define __LINUX_COMPILER_H
#ifndef __ASSEMBLY__
Ê×ÏÈÓ¡ÈëÑÛÁ±µÄÊǶÔ__ASSEMBLY__Õâ¸öºêµÄÅжϣ¬Õâ¸ö±äÁ¿Êµ¼ÊÊÇÔÚ±àÒë»ã±à´úÂëµÄʱºò£¬ÓɱàÒëÆ÷ʹÓÃ-DÕâÑùµÄ²ÎÊý¼Ó½øÈ¥µÄ£¬gcc»á°ÑÕâ¸öºê¶¨ÒåΪ1¡£ÓÃÔÚÕâÀÊÇÒòΪ»ã±à´úÂëÀ²»»áÓõ½ÀàËÆÓÚ__userÕâÑùµÄÊôÐÔ£¨¹ØÓÚ __userÕâÑùµÄÊôÐÔÊÇÔõô»Ø×ÓÊ£¬±¾²©ºóÃæ»áÌáµ½£©£¬ÒòΪÕâÑùµÄÊôÐÔÊÇÔÚ¶¨Ò庯Êý²ÎÊýµÄʱºò¼ÓµÄ£¬ÕâÑù±ÜÃâ²»±ØÒªµÄºêÔÚ±àÒë»ã±à´úÂëʱºòµÄÒýÓá£
#ifdef __CHECKER__
½ÓÏÂÀ´ÊÇÒ»¸ö¶Ô__CHECKER__Õâ¸öºêµÄÅжϣ¬ÕâÀïÐèÒª½²µÄ¶«Î÷±È½Ï¶à£¬ÊDZ¾²©µÄÖص㡣
µ±±àÒëÄں˴úÂëµÄʱºò£¬Ê¹ÓÃmake C=1»òC=2µÄʱºò£¬»áµ÷ÓÃÒ»¸ö½ÐSparseµÄ¹¤¾ß£¬Õâ¸ö¹¤¾ß¶ÔÄں˴úÂë½øÐмì²é£¬Ôõô¼ì²éÄØ£¬¾ÍÊÇ¿¿¶ÔÄÇЩÉùÃ÷¹ýSparseÕâ¸ö¹¤¾ßËùÄÜʶ±ðµÄÌØÐÔµÄÄں˺¯Êý»òÊDZäÁ¿½øÐмì²é¡£ÔÚµ÷ÓÃSparseÕâ¸ö¹¤¾ßµÄͬʱ£¬ÔÚSparse´úÂëÀ»á¼ÓÉÏ#define __CHECKER__ 1µÄ×ÖÑù¡£»»¾ä»°Ëµ£¬¾ÍÊÇ£¬Èç¹ûʹÓÃSparse¶Ô´úÂë½øÐмì²é£¬ÄÇôÄں˴úÂë¾Í»á¶¨Òå__CHECKER__ºê£¬·ñÔò¾Í²»¶¨Òå¡£¾ßÌå½âÊÍÇë·ÃÎÊ£ºhttp://linux.die.net/man/1/sparse
ÀýÈ磺
# define __user __attribute__((noderef, address_space(1)))
Õâ¸öºêÊÇÖص㣬ÓÃÀ´¼ì²éÊÇ·ñÊôÓÚÓû§¿Õ¼ä£¡ÕâÀï¾ÍÄÜ¿´³öÀ´£¬ÀàËÆÓÚ__attribute__((noderef, address_space(1)))ÕâÑùµÄÊôÐÔ¾ÍÊÇSparseÕâ¸ö¹¤¾ßËùÄÜʶ±ðµÄÁË¡£
ÆäËûµÄÄÇЩ¸öÊôÐÔÊÇÓÃÀ´¼ì²éʲôµÄÄØ£¬ÎÒÒ»¸ö¸öµØ×ö½éÉÜ¡£
__user Õâ¸öÌØÐÔ£¬¼´__attribute__((noderef, address_space(1)))£¬ÊÇÓÃÀ´ÐÞÊÎÒ»¸ö±äÁ¿µÄ£¬Õâ¸ö±äÁ¿±ØÐëÊǷǽâ³ý²Î¿¼£¨__attribute__((noderef))——no dereference£©µÄ£¬¼´Õâ¸ö±äÁ¿µØÖ·±ØÐëÊÇÓÐЧµÄ£¬¶øÇÒ±äÁ¿ËùÔڵĵØÖ·¿Õ¼ä±ØÐëÊÇ1£¨__attribute__((address_space(1)))£©£¬¼´Óû§³ÌÐò¿Õ¼äµÄ¡£ÕâÀïSparse¹¤¾ß°Ñ³ÌÐò¿Õ¼ä·Ö³ÉÁË3¸ö²¿·Ö£¬0±íʾnormal space£¬¼´ÆÕͨµØÖ·¿Õ¼ä£¬¶ÔÄں˴úÂëÀ´Ëµ£¬µ±È»¾ÍÊÇÄں˿ռäµØÖ·ÁË¡£1±íʾÓû§µØÖ·¿Õ¼ä£¬Õâ¸ö²»Óöི£¬»¹ÓÐÒ»¸ö2£¬±íʾÊÇÉ豸µØÖ·Ó³Éä¿Õ¼ä£¬ÀýÈçÓ²¼þÉ豸µÄ¼Ä´æÆ÷ÔÚÄÚºËÀïËùÓ³ÉäµÄµØÖ·¿Õ¼ä¡£
ËùÒÔÔÚÄں˺¯ÊýÀÓ
Ïà¹ØÎĵµ£º
¼øÓÚÖ§¸¶±¦µÈ·þÎñÎÞÊÓÎÒÃÇLinuxÓû§µÄ´æÔÚ£¬Ã»°ì·¨£¬ÄÇÖ»ºÃÔÚLinuxÉÏÓÃVirtualBoxÐéÄâÒ»¸öWindowsϵͳÁË¡£ÏµÍ³×°ºÃÁË£¬ÔÚÈÕ³£Ê¹Óùý³ÌÖУ¬ÍùÍùÒª´ÓVirtualBoxµÄ¿Í»§»ú£¨guest system£©ÖÐʹÓÃÖ÷»ú£¨host system£©ÀïÃæµÄÎļþ£¬ÄÇôͨ¹ý¹²ÏíÎļþ¼ÐµÄ·½Ê½¿ÉÒÔ´ï³É´ËÄ¿µÄ¡£
ÎÒÔÚÕâÀï ......
SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇÏ°¹ßдÖîÈç connect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ
´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ» ......
ÔÚÅäÖÃÐéÄâ»·¾³µÄʱºò Á¬½Ó·½Ê½Ñ¡ÔñÇŽӷ½Ê½£¬ÔÚlinuxÆäËû°æ±¾µÄϵͳÖнøÈ¥¾Í¿ÉÒÔÖ±½ÓÉÏÍøµÄ£¬µ«ÊÇÔÚredhat9µÄä¯ÀÀÆ÷ϽøÈëÍøÕ¾ÀÏÊÇÌáʾÕÒ²»µ½¡£´ËʱÈç¹ûÄãÊÔÒ»ÏÂifup eth0Äã»á·¢ÏÖÌáʾÈçÏ£º
determining ip information for eth0... failed no link present. check cable
Íø¿¨¼¤»îʧ°Ü¡£
´ËʱÄã¿ÉÒÔ³¢ÊÔÐÞ¸ÄÒ»ÏÂ/etc/s ......
ʵÏÖÒ»¸öÁ´±í£¬Íê³ÉÁ´±íµÄ²åÈ룬²éÕÒ£¬É¾³ý
typedef struct _FIFO_M{
void *pdata;
struct _FIFO_M *pNext;
}FIFO_M,* pFIFO_M;
typedef struct _FIFO{
pFIFO_M head;
pFIFO_M tail;
pFIFO_M pos;
int mcount;//½Úµã¸öÊý
int max_count;//½Úµã×î´ó¸öÊý¡£
}FIFO,* pFIFO;
......
ÕâÁ½ÌìÔÚ¹¹½¨Ò»¸öÓ¦ÓõÄʹÓÃÓõ½ÁËmaven,ÓÉÓÚprojectºÜ´ó,×ã×ãÓÐ700¶à¸öpom.xmlÎļþ,¸üÓôÃƵÄÊÇÔںܶàpom.xmlÎļþÀﶼµ¥¶ÀÖ¸¶¨ÁË×ÊÔ´¿âµÄurl,ÎÒÐèÒª°ÑÕâЩ×ÊÔ´¿âµÄurlͳһָ¶¨µ½nexus±¾µØÖÐÑë¿â.
ÊÖ¹¤Ò»¸ö¸ö¸ÄÎļþÅäÖÃÓе㲻̫ʵ¼Ê,ËùÒÔgoogleÁËÒ»ÏÂ,ÕÒµ½ÅúÁ¿Ìæ»»ÎļþÄÚÈݵĺ÷½·¨,ÃüÁî½á¹¹ÈçÏÂ:
find -name 'Òª²éÕÒµÄÎ ......