Chinese translated version of Documentation/sparse.txt If you have any comment or update to the content, please contact the original document maintainer directly. However, if you have a problem communicating in English you can also ask the Chinese maintainer for help. Contact the Chinese maintainer if this translation is outdated or if there is a problem with the translation. Chinese maintainer: Li Yang <leo@zh-kernel.org> --------------------------------------------------------------------- Documentation/sparse.txt çä¸æç¿»è¯ å¦ææ³è¯è®ºææ´æ°æ¬æçå 容ï¼è¯·ç´æ¥èç³»åææ¡£çç»´æ¤è ãå¦æä½ ä½¿ç¨è±æ 交æµæå°é¾çè¯ï¼ä¹å¯ä»¥åä¸æçç»´æ¤è æ±å©ãå¦ææ¬ç¿»è¯æ´æ°ä¸åæ¶æè ç¿» è¯åå¨é®é¢ï¼è¯·èç³»ä¸æçç»´æ¤è ã ä¸æçç»´æ¤è ï¼ æé³ Li Yang <leo@zh-kernel.org> ä¸æçç¿»è¯è ï¼ æé³ Li Yang <leo@zh-kernel.org> 以ä¸ä¸ºæ£æ --------------------------------------------------------------------- Copyright 2004 Linus Torvalds Copyright 2004 Pavel Machek <pavel@ucw.cz> Copyright 2006 Bob Copeland <me@bobcopeland.com> ä½¿ç¨ sparse å·¥å ·åç±»åæ£æ¥ ~~~~~~~~~~~~~~~~~~~~~~~~~~ "__bitwise" æ¯ä¸ç§ç±»åå±æ§ï¼æä»¥ä½ åºè¯¥è¿æ ·ä½¿ç¨å®ï¼ typedef int __bitwise pm_request_t; enum pm_request { PM_SUSPEND = (__force pm_request_t) 1, PM_RESUME = (__force pm_request_t) 2 }; è¿æ ·ä¼ä½¿ PM_SUSPEND å PM_RESUME æ为ä½æ¹å¼(bitwise)æ´æ°ï¼ä½¿ç¨"__force" æ¯å 为 sparse ä¼æ±æ¨æ¹åä½æ¹å¼çç±»å转æ¢ï¼ä½æ¯è¿éæ们确å®éè¦å¼ºå¶è¿è¡è½¬ æ¢ï¼ãèä¸å 为æææ举å¼é½ä½¿ç¨äºç¸åçç±»åï¼è¿éç"enum pm_request"ä¹å° ä¼ä½¿ç¨é£ä¸ªç±»åå为åºå±å®ç°ã èä¸ä½¿ç¨ gcc ç¼è¯çæ¶åï¼ææç __bitwise/__force é½ä¼æ¶å¤±ï¼æåå¨ gcc çæ¥å®ä»¬åªä¸è¿æ¯æ®éçæ´æ°ã å¦ç½æ¥è¯´ï¼ä½ 并ä¸éè¦ä½¿ç¨æ举类åãä¸é¢é£äºå®é é½å¯ä»¥æµç¼©æä¸ä¸ªç¹æ®ç"int __bitwise"ç±»åã æ以æ´ç®åçåæ³åªè¦è¿æ ·åï¼ typedef int __bitwise pm_request_t; #define PM_SUSPEND ((__force pm_request_t) 1) #define PM_RESUME ((__force pm_request_t) 2) ç°å¨ä½ å°±æäºä¸¥æ ¼çç±»åæ£æ¥æéè¦çææåºç¡æ¶æã ä¸ä¸ªå°æéï¼å¸¸æ°æ´æ°"0"æ¯ç¹æ®çãä½ å¯ä»¥ç´æ¥æ常æ°é¶å½ä½ä½æ¹å¼æ´æ°ä½¿ç¨è ä¸ç¨æ å¿ sparse ä¼æ±æ¨ãè¿æ¯å 为"bitwise"ï¼æ°å¦å ¶åï¼æ¯ç¨æ¥ç¡®ä¿ä¸åä½æ¹ å¼ç±»åä¸ä¼è¢«å¼æ··ï¼å°å°¾æ¨¡å¼ï¼å¤§å°¾æ¨¡å¼ï¼cpu尾模å¼ï¼æè å ¶ä»ï¼ï¼å¯¹ä»ä»¬æ¥è¯´ 常æ°"0"ç¡®å®æ¯ç¹æ®çã è·å sparse å·¥å · ~~~~~~~~~~~~~~~~ ä½ å¯ä»¥ä» Sparse ç主页è·åææ°çåå¸çæ¬ï¼ http://www.kernel.org/pub/linux/kernel/people/josh/sparse/ æè ï¼ä½ ä¹å¯ä»¥ä½¿ç¨ git å éææ°ç sparse å¼åçæ¬ï¼ git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git DaveJ ææ¯å°æ¶èªå¨çæç git æºç æ tar å æ¾å¨ä»¥ä¸å°åï¼ http://www.codemonkey.org.uk/projects/git-snapshots/sparse/ ä¸æ¦ä½ ä¸è½½äºæºç ï¼åªè¦ä»¥æ®éç¨æ·èº«ä»½è¿è¡ï¼ make make install å®å°ä¼è¢«èªå¨å®è£ å°ä½ ç ~/bin ç®å½ä¸ã ä½¿ç¨ sparse å·¥å · ~~~~~~~~~~~~~~~~ ç¨"make C=1"å½ä»¤æ¥ç¼è¯å æ ¸ï¼ä¼å¯¹ææéæ°ç¼è¯ç C æä»¶ä½¿ç¨ sparse å·¥å ·ã æè 使ç¨"make C=2"å½ä»¤ï¼æ 论æ件æ¯å¦è¢«éæ°ç¼è¯é½ä¼å¯¹å ¶ä½¿ç¨ sparse å·¥å ·ã å¦æä½ å·²ç»ç¼è¯äºå æ ¸ï¼ç¨åä¸ç§æ¹å¼å¯ä»¥å¾å¿«å°æ£æ¥æ´ä¸ªæºç æ ã make çå¯éåé CHECKFLAGS å¯ä»¥ç¨æ¥å sparse å·¥å ·ä¼ éåæ°ãç¼è¯ç³»ç»ä¼èª å¨å sparse å·¥å ·ä¼ é -Wbitwise åæ°ãä½ å¯ä»¥å®ä¹ __CHECK_ENDIAN__ æ¥è¿è¡ 大å°å°¾æ£æ¥ã make C=2 CHECKFLAGS="-D__CHECK_ENDIAN__" è¿äºæ£æ¥é»è®¤é½æ¯è¢«å ³éçï¼å 为ä»ä»¬é常ä¼äº§ç大éçè¦åã