1Chinese translated version of Documentation/CodingStyle 2 3If you have any comment or update to the content, please post to LKML directly. 4However, if you have problem communicating in English you can also ask the 5Chinese maintainer for help. Contact the Chinese maintainer, if this 6translation is outdated or there is problem with translation. 7 8Chinese maintainer: Zhang Le <r0bertz@gentoo.org> 9--------------------------------------------------------------------- 10Documentation/CodingStyle\xE7\x9A\x84\xE4\xB8\xAD\xE6\x96\x87\xE7\xBF\xBB\xE8\xAF\x91 11 12\xE5\xA6\x82\xE6\x9E\x9C\xE6\x83\xB3\xE8\xAF\x84\xE8\xAE\xBA\xE6\x88\x96\xE6\x9B\xB4\xE6\x96\xB0\xE6\x9C\xAC\xE6\x96\x87\xE7\x9A\x84\xE5\x86\x85\xE5\xAE\xB9\xEF\xBC\x8C\xE8\xAF\xB7\xE7\x9B\xB4\xE6\x8E\xA5\xE5\x8F\x91\xE4\xBF\xA1\xE5\x88\xB0LKML\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE4\xBD\xBF\xE7\x94\xA8\xE8\x8B\xB1\xE6\x96\x87\xE4\xBA\xA4\xE6\xB5\x81\xE6\x9C\x89\xE5\x9B\xB0\xE9\x9A\xBE\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE4\xB9\x9F\xE5\x8F\xAF 13\xE4\xBB\xA5\xE5\x90\x91\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE6\xB1\x82\xE5\x8A\xA9\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\xAC\xE7\xBF\xBB\xE8\xAF\x91\xE6\x9B\xB4\xE6\x96\xB0\xE4\xB8\x8D\xE5\x8F\x8A\xE6\x97\xB6\xE6\x88\x96\xE8\x80\x85\xE7\xBF\xBB\xE8\xAF\x91\xE5\xAD\x98\xE5\x9C\xA8\xE9\x97\xAE\xE9\xA2\x98\xEF\xBC\x8C\xE8\xAF\xB7\xE8\x81\x94\xE7\xB3\xBB\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE3\x80\x82 14 15\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xEF\xBC\x9A \xE5\xBC\xA0\xE4\xB9\x90 Zhang Le <r0bertz@gentoo.org> 16\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBF\xBB\xE8\xAF\x91\xE8\x80\x85\xEF\xBC\x9A \xE5\xBC\xA0\xE4\xB9\x90 Zhang Le <r0bertz@gentoo.org> 17\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE6\xA0\xA1\xE8\xAF\x91\xE8\x80\x85\xEF\xBC\x9A \xE7\x8E\x8B\xE8\x81\xAA Wang Cong <xiyou.wangcong@gmail.com> 18 wheelz <kernel.zeng@gmail.com> 19 \xE7\xAE\xA1\xE6\x97\xAD\xE4\xB8\x9C Xudong Guan <xudong.guan@gmail.com> 20 Li Zefan <lizf@cn.fujitsu.com> 21 Wang Chen <wangchen@cn.fujitsu.com> 22\xE4\xBB\xA5\xE4\xB8\x8B\xE4\xB8\xBA\xE6\xAD\xA3\xE6\x96\x87 23--------------------------------------------------------------------- 24 25 Linux\xE5\x86\x85\xE6\xA0\xB8\xE4\xBB\xA3\xE7\xA0\x81\xE9\xA3\x8E\xE6\xA0\xBC 26 27\xE8\xBF\x99\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE7\xAE\x80\xE7\x9F\xAD\xE7\x9A\x84\xE6\x96\x87\xE6\xA1\xA3\xEF\xBC\x8C\xE6\x8F\x8F\xE8\xBF\xB0\xE4\xBA\x86linux\xE5\x86\x85\xE6\xA0\xB8\xE7\x9A\x84\xE9\xA6\x96\xE9\x80\x89\xE4\xBB\xA3\xE7\xA0\x81\xE9\xA3\x8E\xE6\xA0\xBC\xE3\x80\x82\xE4\xBB\xA3\xE7\xA0\x81\xE9\xA3\x8E\xE6\xA0\xBC\xE6\x98\xAF\xE5\x9B\xA0\xE4\xBA\xBA\xE8\x80\x8C\xE5\xBC\x82\xE7\x9A\x84\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE6\x88\x91 28\xE4\xB8\x8D\xE6\x84\xBF\xE6\x84\x8F\xE6\x8A\x8A\xE6\x88\x91\xE7\x9A\x84\xE8\xA7\x82\xE7\x82\xB9\xE5\xBC\xBA\xE5\x8A\xA0\xE7\xBB\x99\xE4\xBB\xBB\xE4\xBD\x95\xE4\xBA\xBA\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE8\xBF\x99\xE9\x87\x8C\xE6\x89\x80\xE8\xAE\xB2\xE8\xBF\xB0\xE7\x9A\x84\xE6\x98\xAF\xE6\x88\x91\xE5\xBF\x85\xE9\xA1\xBB\xE8\xA6\x81\xE7\xBB\xB4\xE6\x8A\xA4\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE6\x89\x80\xE9\x81\xB5\xE5\xAE\x88\xE7\x9A\x84\xE9\xA3\x8E\xE6\xA0\xBC\xEF\xBC\x8C 29\xE5\xB9\xB6\xE4\xB8\x94\xE6\x88\x91\xE4\xB9\x9F\xE5\xB8\x8C\xE6\x9C\x9B\xE7\xBB\x9D\xE5\xA4\xA7\xE5\xA4\x9A\xE6\x95\xB0\xE5\x85\xB6\xE4\xBB\x96\xE4\xBB\xA3\xE7\xA0\x81\xE4\xB9\x9F\xE8\x83\xBD\xE9\x81\xB5\xE5\xAE\x88\xE8\xBF\x99\xE4\xB8\xAA\xE9\xA3\x8E\xE6\xA0\xBC\xE3\x80\x82\xE8\xAF\xB7\xE5\x9C\xA8\xE5\x86\x99\xE4\xBB\xA3\xE7\xA0\x81\xE6\x97\xB6\xE8\x87\xB3\xE5\xB0\x91\xE8\x80\x83\xE8\x99\x91\xE4\xB8\x80\xE4\xB8\x8B\xE6\x9C\xAC\xE6\x96\x87\xE6\x89\x80\xE8\xBF\xB0\xE7\x9A\x84 30\xE9\xA3\x8E\xE6\xA0\xBC\xE3\x80\x82 31 32\xE9\xA6\x96\xE5\x85\x88\xEF\xBC\x8C\xE6\x88\x91\xE5\xBB\xBA\xE8\xAE\xAE\xE4\xBD\xA0\xE6\x89\x93\xE5\x8D\xB0\xE4\xB8\x80\xE4\xBB\xBDGNU\xE4\xBB\xA3\xE7\xA0\x81\xE8\xA7\x84\xE8\x8C\x83\xEF\xBC\x8C\xE7\x84\xB6\xE5\x90\x8E\xE4\xB8\x8D\xE8\xA6\x81\xE8\xAF\xBB\xE5\xAE\x83\xE3\x80\x82\xE7\x83\xA7\xE4\xBA\x86\xE5\xAE\x83\xEF\xBC\x8C\xE8\xBF\x99\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x85\xB7\xE6\x9C\x89\xE9\x87\x8D\xE5\xA4\xA7\xE8\xB1\xA1\xE5\xBE\x81\xE6\x80\xA7 33\xE6\x84\x8F\xE4\xB9\x89\xE7\x9A\x84\xE5\x8A\xA8\xE4\xBD\x9C\xE3\x80\x82 34 35\xE4\xB8\x8D\xE7\xAE\xA1\xE6\x80\x8E\xE6\xA0\xB7\xEF\xBC\x8C\xE7\x8E\xB0\xE5\x9C\xA8\xE6\x88\x91\xE4\xBB\xAC\xE5\xBC\x80\xE5\xA7\x8B\xEF\xBC\x9A 36 37 38 \xE7\xAC\xAC\xE4\xB8\x80\xE7\xAB\xA0\xEF\xBC\x9A\xE7\xBC\xA9\xE8\xBF\x9B 39 40\xE5\x88\xB6\xE8\xA1\xA8\xE7\xAC\xA6\xE6\x98\xAF8\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xE7\xBC\xA9\xE8\xBF\x9B\xE4\xB9\x9F\xE6\x98\xAF8\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE3\x80\x82\xE6\x9C\x89\xE4\xBA\x9B\xE5\xBC\x82\xE7\xAB\xAF\xE8\xBF\x90\xE5\x8A\xA8\xE8\xAF\x95\xE5\x9B\xBE\xE5\xB0\x86\xE7\xBC\xA9\xE8\xBF\x9B\xE5\x8F\x98\xE4\xB8\xBA4\xEF\xBC\x88\xE4\xB9\x83\xE8\x87\xB32\xEF\xBC\x89\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6 41\xE6\xB7\xB1\xEF\xBC\x8C\xE8\xBF\x99\xE5\x87\xA0\xE4\xB9\x8E\xE7\x9B\xB8\xE5\xBD\x93\xE4\xBA\x8E\xE5\xB0\x9D\xE8\xAF\x95\xE5\xB0\x86\xE5\x9C\x86\xE5\x91\xA8\xE7\x8E\x87\xE7\x9A\x84\xE5\x80\xBC\xE5\xAE\x9A\xE4\xB9\x89\xE4\xB8\xBA3\xE3\x80\x82 42 43\xE7\x90\x86\xE7\x94\xB1\xEF\xBC\x9A\xE7\xBC\xA9\xE8\xBF\x9B\xE7\x9A\x84\xE5\x85\xA8\xE9\x83\xA8\xE6\x84\x8F\xE4\xB9\x89\xE5\xB0\xB1\xE5\x9C\xA8\xE4\xBA\x8E\xE6\xB8\x85\xE6\xA5\x9A\xE7\x9A\x84\xE5\xAE\x9A\xE4\xB9\x89\xE4\xB8\x80\xE4\xB8\xAA\xE6\x8E\xA7\xE5\x88\xB6\xE5\x9D\x97\xE8\xB5\xB7\xE6\xAD\xA2\xE4\xBA\x8E\xE4\xBD\x95\xE5\xA4\x84\xE3\x80\x82\xE5\xB0\xA4\xE5\x85\xB6\xE6\x98\xAF\xE5\xBD\x93\xE4\xBD\xA0\xE7\x9B\xAF\xE7\x9D\x80\xE4\xBD\xA0\xE7\x9A\x84\xE5\xB1\x8F\xE5\xB9\x95 44\xE8\xBF\x9E\xE7\xBB\xAD\xE7\x9C\x8B\xE4\xBA\x8620\xE5\xB0\x8F\xE6\x97\xB6\xE4\xB9\x8B\xE5\x90\x8E\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xB0\x86\xE4\xBC\x9A\xE5\x8F\x91\xE7\x8E\xB0\xE5\xA4\xA7\xE4\xB8\x80\xE7\x82\xB9\xE7\x9A\x84\xE7\xBC\xA9\xE8\xBF\x9B\xE4\xBC\x9A\xE4\xBD\xBF\xE4\xBD\xA0\xE6\x9B\xB4\xE5\xAE\xB9\xE6\x98\x93\xE5\x88\x86\xE8\xBE\xA8\xE7\xBC\xA9\xE8\xBF\x9B\xE3\x80\x82 45 46\xE7\x8E\xB0\xE5\x9C\xA8\xEF\xBC\x8C\xE6\x9C\x89\xE4\xBA\x9B\xE4\xBA\xBA\xE4\xBC\x9A\xE6\x8A\xB1\xE6\x80\xA88\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE7\x9A\x84\xE7\xBC\xA9\xE8\xBF\x9B\xE4\xBC\x9A\xE4\xBD\xBF\xE4\xBB\xA3\xE7\xA0\x81\xE5\x90\x91\xE5\x8F\xB3\xE8\xBE\xB9\xE7\xA7\xBB\xE5\x8A\xA8\xE7\x9A\x84\xE5\xA4\xAA\xE8\xBF\x9C\xEF\xBC\x8C\xE5\x9C\xA880\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE7\x9A\x84\xE7\xBB\x88\xE7\xAB\xAF\xE5\xB1\x8F\xE5\xB9\x95\xE4\xB8\x8A 47\xE5\xB0\xB1\xE5\xBE\x88\xE9\x9A\xBE\xE8\xAF\xBB\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE3\x80\x82\xE8\xBF\x99\xE4\xB8\xAA\xE9\x97\xAE\xE9\xA2\x98\xE7\x9A\x84\xE7\xAD\x94\xE6\xA1\x88\xE6\x98\xAF\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x813\xE7\xBA\xA7\xE4\xBB\xA5\xE4\xB8\x8A\xE7\x9A\x84\xE7\xBC\xA9\xE8\xBF\x9B\xEF\xBC\x8C\xE4\xB8\x8D\xE7\xAE\xA1\xE7\x94\xA8\xE4\xBD\x95\xE7\xA7\x8D\xE6\x96\xB9\xE5\xBC\x8F\xE4\xBD\xA0 48\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE5\xB7\xB2\xE7\xBB\x8F\xE6\x9C\x89\xE9\x97\xAE\xE9\xA2\x98\xE4\xBA\x86\xEF\xBC\x8C\xE5\xBA\x94\xE8\xAF\xA5\xE4\xBF\xAE\xE6\xAD\xA3\xE4\xBD\xA0\xE7\x9A\x84\xE7\xA8\x8B\xE5\xBA\x8F\xE3\x80\x82 49 50\xE7\xAE\x80\xE8\x80\x8C\xE8\xA8\x80\xE4\xB9\x8B\xEF\xBC\x8C8\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE7\x9A\x84\xE7\xBC\xA9\xE8\xBF\x9B\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xAE\xA9\xE4\xBB\xA3\xE7\xA0\x81\xE6\x9B\xB4\xE5\xAE\xB9\xE6\x98\x93\xE9\x98\x85\xE8\xAF\xBB\xEF\xBC\x8C\xE8\xBF\x98\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA5\xBD\xE5\xA4\x84\xE6\x98\xAF\xE5\xBD\x93\xE4\xBD\xA0\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE5\xB5\x8C\xE5\xA5\x97\xE5\xA4\xAA\xE6\xB7\xB1\xE7\x9A\x84 51\xE6\x97\xB6\xE5\x80\x99\xE5\x8F\xAF\xE4\xBB\xA5\xE7\xBB\x99\xE4\xBD\xA0\xE8\xAD\xA6\xE5\x91\x8A\xE3\x80\x82\xE7\x95\x99\xE5\xBF\x83\xE8\xBF\x99\xE4\xB8\xAA\xE8\xAD\xA6\xE5\x91\x8A\xE3\x80\x82 52 53\xE5\x9C\xA8switch\xE8\xAF\xAD\xE5\x8F\xA5\xE4\xB8\xAD\xE6\xB6\x88\xE9\x99\xA4\xE5\xA4\x9A\xE7\xBA\xA7\xE7\xBC\xA9\xE8\xBF\x9B\xE7\x9A\x84\xE9\xA6\x96\xE9\x80\x89\xE7\x9A\x84\xE6\x96\xB9\xE5\xBC\x8F\xE6\x98\xAF\xE8\xAE\xA9\xE2\x80\x9Cswitch\xE2\x80\x9D\xE5\x92\x8C\xE4\xBB\x8E\xE5\xB1\x9E\xE4\xBA\x8E\xE5\xAE\x83\xE7\x9A\x84\xE2\x80\x9Ccase\xE2\x80\x9D\xE6\xA0\x87\xE7\xAD\xBE\xE5\xAF\xB9\xE9\xBD\x90\xE4\xBA\x8E\xE5\x90\x8C 54\xE4\xB8\x80\xE5\x88\x97\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x8D\xE8\xA6\x81\xE2\x80\x9C\xE4\xB8\xA4\xE6\xAC\xA1\xE7\xBC\xA9\xE8\xBF\x9B\xE2\x80\x9D\xE2\x80\x9Ccase\xE2\x80\x9D\xE6\xA0\x87\xE7\xAD\xBE\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x9A 55 56 switch (suffix) { 57 case 'G': 58 case 'g': 59 mem <<= 30; 60 break; 61 case 'M': 62 case 'm': 63 mem <<= 20; 64 break; 65 case 'K': 66 case 'k': 67 mem <<= 10; 68 /* fall through */ 69 default: 70 break; 71 } 72 73 74\xE4\xB8\x8D\xE8\xA6\x81\xE6\x8A\x8A\xE5\xA4\x9A\xE4\xB8\xAA\xE8\xAF\xAD\xE5\x8F\xA5\xE6\x94\xBE\xE5\x9C\xA8\xE4\xB8\x80\xE8\xA1\x8C\xE9\x87\x8C\xEF\xBC\x8C\xE9\x99\xA4\xE9\x9D\x9E\xE4\xBD\xA0\xE6\x9C\x89\xE4\xBB\x80\xE4\xB9\x88\xE4\xB8\x9C\xE8\xA5\xBF\xE8\xA6\x81\xE9\x9A\x90\xE8\x97\x8F\xEF\xBC\x9A 75 76 if (condition) do_this; 77 do_something_everytime; 78 79\xE4\xB9\x9F\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE4\xB8\x80\xE8\xA1\x8C\xE9\x87\x8C\xE6\x94\xBE\xE5\xA4\x9A\xE4\xB8\xAA\xE8\xB5\x8B\xE5\x80\xBC\xE8\xAF\xAD\xE5\x8F\xA5\xE3\x80\x82\xE5\x86\x85\xE6\xA0\xB8\xE4\xBB\xA3\xE7\xA0\x81\xE9\xA3\x8E\xE6\xA0\xBC\xE8\xB6\x85\xE7\xBA\xA7\xE7\xAE\x80\xE5\x8D\x95\xE3\x80\x82\xE5\xB0\xB1\xE6\x98\xAF\xE9\x81\xBF\xE5\x85\x8D\xE5\x8F\xAF\xE8\x83\xBD\xE5\xAF\xBC\xE8\x87\xB4\xE5\x88\xAB\xE4\xBA\xBA\xE8\xAF\xAF\xE8\xAF\xBB\xE7\x9A\x84\xE8\xA1\xA8 80\xE8\xBE\xBE\xE5\xBC\x8F\xE3\x80\x82 81 82\xE9\x99\xA4\xE4\xBA\x86\xE6\xB3\xA8\xE9\x87\x8A\xE3\x80\x81\xE6\x96\x87\xE6\xA1\xA3\xE5\x92\x8CKconfig\xE4\xB9\x8B\xE5\xA4\x96\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8\xE7\xA9\xBA\xE6\xA0\xBC\xE6\x9D\xA5\xE7\xBC\xA9\xE8\xBF\x9B\xEF\xBC\x8C\xE5\x89\x8D\xE9\x9D\xA2\xE7\x9A\x84\xE4\xBE\x8B\xE5\xAD\x90\xE6\x98\xAF\xE4\xBE\x8B\xE5\xA4\x96\xEF\xBC\x8C\xE6\x98\xAF\xE6\x9C\x89\xE6\x84\x8F\xE4\xB8\xBA\xE4\xB9\x8B\xE3\x80\x82 83 84\xE9\x80\x89\xE7\x94\xA8\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA5\xBD\xE7\x9A\x84\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE8\xA1\x8C\xE5\xB0\xBE\xE7\x95\x99\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82 85 86 87 \xE7\xAC\xAC\xE4\xBA\x8C\xE7\xAB\xA0\xEF\xBC\x9A\xE6\x8A\x8A\xE9\x95\xBF\xE7\x9A\x84\xE8\xA1\x8C\xE5\x92\x8C\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2\xE6\x89\x93\xE6\x95\xA3 88 89\xE4\xBB\xA3\xE7\xA0\x81\xE9\xA3\x8E\xE6\xA0\xBC\xE7\x9A\x84\xE6\x84\x8F\xE4\xB9\x89\xE5\xB0\xB1\xE5\x9C\xA8\xE4\xBA\x8E\xE4\xBD\xBF\xE7\x94\xA8\xE5\xB9\xB3\xE5\xB8\xB8\xE4\xBD\xBF\xE7\x94\xA8\xE7\x9A\x84\xE5\xB7\xA5\xE5\x85\xB7\xE6\x9D\xA5\xE7\xBB\xB4\xE6\x8C\x81\xE4\xBB\xA3\xE7\xA0\x81\xE7\x9A\x84\xE5\x8F\xAF\xE8\xAF\xBB\xE6\x80\xA7\xE5\x92\x8C\xE5\x8F\xAF\xE7\xBB\xB4\xE6\x8A\xA4\xE6\x80\xA7\xE3\x80\x82 90 91\xE6\xAF\x8F\xE4\xB8\x80\xE8\xA1\x8C\xE7\x9A\x84\xE9\x95\xBF\xE5\xBA\xA6\xE7\x9A\x84\xE9\x99\x90\xE5\x88\xB6\xE6\x98\xAF80\xE5\x88\x97\xEF\xBC\x8C\xE6\x88\x91\xE4\xBB\xAC\xE5\xBC\xBA\xE7\x83\x88\xE5\xBB\xBA\xE8\xAE\xAE\xE6\x82\xA8\xE9\x81\xB5\xE5\xAE\x88\xE8\xBF\x99\xE4\xB8\xAA\xE6\x83\xAF\xE4\xBE\x8B\xE3\x80\x82 92 93\xE9\x95\xBF\xE4\xBA\x8E80\xE5\x88\x97\xE7\x9A\x84\xE8\xAF\xAD\xE5\x8F\xA5\xE8\xA6\x81\xE6\x89\x93\xE6\x95\xA3\xE6\x88\x90\xE6\x9C\x89\xE6\x84\x8F\xE4\xB9\x89\xE7\x9A\x84\xE7\x89\x87\xE6\xAE\xB5\xE3\x80\x82\xE6\xAF\x8F\xE4\xB8\xAA\xE7\x89\x87\xE6\xAE\xB5\xE8\xA6\x81\xE6\x98\x8E\xE6\x98\xBE\xE7\x9F\xAD\xE4\xBA\x8E\xE5\x8E\x9F\xE6\x9D\xA5\xE7\x9A\x84\xE8\xAF\xAD\xE5\x8F\xA5\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE6\x94\xBE\xE7\xBD\xAE\xE7\x9A\x84\xE4\xBD\x8D\xE7\xBD\xAE 94\xE4\xB9\x9F\xE6\x98\x8E\xE6\x98\xBE\xE7\x9A\x84\xE9\x9D\xA0\xE5\x8F\xB3\xE3\x80\x82\xE5\x90\x8C\xE6\xA0\xB7\xE7\x9A\x84\xE8\xA7\x84\xE5\x88\x99\xE4\xB9\x9F\xE9\x80\x82\xE7\x94\xA8\xE4\xBA\x8E\xE6\x9C\x89\xE5\xBE\x88\xE9\x95\xBF\xE5\x8F\x82\xE6\x95\xB0\xE5\x88\x97\xE8\xA1\xA8\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE5\xA4\xB4\xE3\x80\x82\xE9\x95\xBF\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2\xE4\xB9\x9F\xE8\xA6\x81\xE6\x89\x93\xE6\x95\xA3\xE6\x88\x90\xE8\xBE\x83\xE7\x9F\xAD\xE7\x9A\x84 95\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2\xE3\x80\x82\xE5\x94\xAF\xE4\xB8\x80\xE7\x9A\x84\xE4\xBE\x8B\xE5\xA4\x96\xE6\x98\xAF\xE8\xB6\x85\xE8\xBF\x8780\xE5\x88\x97\xE5\x8F\xAF\xE4\xBB\xA5\xE5\xA4\xA7\xE5\xB9\x85\xE5\xBA\xA6\xE6\x8F\x90\xE9\xAB\x98\xE5\x8F\xAF\xE8\xAF\xBB\xE6\x80\xA7\xE5\xB9\xB6\xE4\xB8\x94\xE4\xB8\x8D\xE4\xBC\x9A\xE9\x9A\x90\xE8\x97\x8F\xE4\xBF\xA1\xE6\x81\xAF\xE7\x9A\x84\xE6\x83\x85\xE5\x86\xB5\xE3\x80\x82 96 97void fun(int a, int b, int c) 98{ 99 if (condition) 100 printk(KERN_WARNING "Warning this is a long printk with " 101 "3 parameters a: %u b: %u " 102 "c: %u \n", a, b, c); 103 else 104 next_statement; 105} 106 107 \xE7\xAC\xAC\xE4\xB8\x89\xE7\xAB\xA0\xEF\xBC\x9A\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE5\x92\x8C\xE7\xA9\xBA\xE6\xA0\xBC\xE7\x9A\x84\xE6\x94\xBE\xE7\xBD\xAE 108 109C\xE8\xAF\xAD\xE8\xA8\x80\xE9\xA3\x8E\xE6\xA0\xBC\xE4\xB8\xAD\xE5\x8F\xA6\xE5\xA4\x96\xE4\xB8\x80\xE4\xB8\xAA\xE5\xB8\xB8\xE8\xA7\x81\xE9\x97\xAE\xE9\xA2\x98\xE6\x98\xAF\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE7\x9A\x84\xE6\x94\xBE\xE7\xBD\xAE\xE3\x80\x82\xE5\x92\x8C\xE7\xBC\xA9\xE8\xBF\x9B\xE5\xA4\xA7\xE5\xB0\x8F\xE4\xB8\x8D\xE5\x90\x8C\xEF\xBC\x8C\xE9\x80\x89\xE6\x8B\xA9\xE6\x88\x96\xE5\xBC\x83\xE7\x94\xA8\xE6\x9F\x90\xE7\xA7\x8D\xE6\x94\xBE\xE7\xBD\xAE\xE7\xAD\x96 110\xE7\x95\xA5\xE5\xB9\xB6\xE6\xB2\xA1\xE6\x9C\x89\xE5\xA4\x9A\xE5\xB0\x91\xE6\x8A\x80\xE6\x9C\xAF\xE4\xB8\x8A\xE7\x9A\x84\xE5\x8E\x9F\xE5\x9B\xA0\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE9\xA6\x96\xE9\x80\x89\xE7\x9A\x84\xE6\x96\xB9\xE5\xBC\x8F\xEF\xBC\x8C\xE5\xB0\xB1\xE5\x83\x8FKernighan\xE5\x92\x8CRitchie\xE5\xB1\x95\xE7\xA4\xBA\xE7\xBB\x99\xE6\x88\x91\xE4\xBB\xAC\xE7\x9A\x84\xEF\xBC\x8C\xE6\x98\xAF 111\xE6\x8A\x8A\xE8\xB5\xB7\xE5\xA7\x8B\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE6\x94\xBE\xE5\x9C\xA8\xE8\xA1\x8C\xE5\xB0\xBE\xEF\xBC\x8C\xE8\x80\x8C\xE6\x8A\x8A\xE7\xBB\x93\xE6\x9D\x9F\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE6\x94\xBE\xE5\x9C\xA8\xE8\xA1\x8C\xE9\xA6\x96\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xEF\xBC\x9A 112 113 if (x is true) { 114 we do y 115 } 116 117\xE8\xBF\x99\xE9\x80\x82\xE7\x94\xA8\xE4\xBA\x8E\xE6\x89\x80\xE6\x9C\x89\xE7\x9A\x84\xE9\x9D\x9E\xE5\x87\xBD\xE6\x95\xB0\xE8\xAF\xAD\xE5\x8F\xA5\xE5\x9D\x97\xEF\xBC\x88if\xE3\x80\x81switch\xE3\x80\x81for\xE3\x80\x81while\xE3\x80\x81do\xEF\xBC\x89\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x9A 118 119 switch (action) { 120 case KOBJ_ADD: 121 return "add"; 122 case KOBJ_REMOVE: 123 return "remove"; 124 case KOBJ_CHANGE: 125 return "change"; 126 default: 127 return NULL; 128 } 129 130\xE4\xB8\x8D\xE8\xBF\x87\xEF\xBC\x8C\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE4\xBE\x8B\xE5\xA4\x96\xEF\xBC\x8C\xE9\x82\xA3\xE5\xB0\xB1\xE6\x98\xAF\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x9A\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE8\xB5\xB7\xE5\xA7\x8B\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE6\x94\xBE\xE7\xBD\xAE\xE4\xBA\x8E\xE4\xB8\x8B\xE4\xB8\x80\xE8\xA1\x8C\xE7\x9A\x84\xE5\xBC\x80\xE5\xA4\xB4\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xEF\xBC\x9A 131 132 int function(int x) 133 { 134 body of function 135 } 136 137\xE5\x85\xA8\xE4\xB8\x96\xE7\x95\x8C\xE7\x9A\x84\xE5\xBC\x82\xE7\xAB\xAF\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE6\x8A\xB1\xE6\x80\xA8\xE8\xBF\x99\xE4\xB8\xAA\xE4\xB8\x8D\xE4\xB8\x80\xE8\x87\xB4\xE6\x80\xA7\xE6\x98\xAF\xE2\x80\xA6\xE2\x80\xA6\xE5\x91\x83\xE2\x80\xA6\xE2\x80\xA6\xE4\xB8\x8D\xE4\xB8\x80\xE8\x87\xB4\xE7\x9A\x84\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE6\x89\x80\xE6\x9C\x89\xE6\x80\x9D\xE7\xBB\xB4\xE5\x81\xA5\xE5\x85\xA8\xE7\x9A\x84\xE4\xBA\xBA\xE9\x83\xBD\xE7\x9F\xA5\xE9\x81\x93\xEF\xBC\x88 138a\xEF\xBC\x89K&R\xE6\x98\xAF_\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84_\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xEF\xBC\x88b\xEF\xBC\x89K&R\xE6\x98\xAF\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84\xE3\x80\x82\xE6\xAD\xA4\xE5\xA4\x96\xEF\xBC\x8C\xE4\xB8\x8D\xE7\xAE\xA1\xE6\x80\x8E\xE6\xA0\xB7\xE5\x87\xBD\xE6\x95\xB0\xE9\x83\xBD\xE6\x98\xAF\xE7\x89\xB9\xE6\xAE\x8A\xE7\x9A\x84\xEF\xBC\x88\xE5\x9C\xA8C\xE8\xAF\xAD\xE8\xA8\x80\xE4\xB8\xAD 139\xEF\xBC\x8C\xE5\x87\xBD\xE6\x95\xB0\xE6\x98\xAF\xE4\xB8\x8D\xE8\x83\xBD\xE5\xB5\x8C\xE5\xA5\x97\xE7\x9A\x84\xEF\xBC\x89\xE3\x80\x82 140 141\xE6\xB3\xA8\xE6\x84\x8F\xE7\xBB\x93\xE6\x9D\x9F\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE7\x8B\xAC\xE8\x87\xAA\xE5\x8D\xA0\xE6\x8D\xAE\xE4\xB8\x80\xE8\xA1\x8C\xEF\xBC\x8C\xE9\x99\xA4\xE9\x9D\x9E\xE5\xAE\x83\xE5\x90\x8E\xE9\x9D\xA2\xE8\xB7\x9F\xE7\x9D\x80\xE5\x90\x8C\xE4\xB8\x80\xE4\xB8\xAA\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE5\x89\xA9\xE4\xBD\x99\xE9\x83\xA8\xE5\x88\x86\xEF\xBC\x8C\xE4\xB9\x9F\xE5\xB0\xB1\xE6\x98\xAFdo\xE8\xAF\xAD\xE5\x8F\xA5\xE4\xB8\xAD\xE7\x9A\x84 142\xE2\x80\x9Cwhile\xE2\x80\x9D\xE6\x88\x96\xE8\x80\x85if\xE8\xAF\xAD\xE5\x8F\xA5\xE4\xB8\xAD\xE7\x9A\x84\xE2\x80\x9Celse\xE2\x80\x9D\xEF\xBC\x8C\xE5\x83\x8F\xE8\xBF\x99\xE6\xA0\xB7\xEF\xBC\x9A 143 144 do { 145 body of do-loop 146 } while (condition); 147 148\xE5\x92\x8C 149 150 if (x == y) { 151 .. 152 } else if (x > y) { 153 ... 154 } else { 155 .... 156 } 157 158\xE7\x90\x86\xE7\x94\xB1\xEF\xBC\x9AK&R\xE3\x80\x82 159 160\xE4\xB9\x9F\xE8\xAF\xB7\xE6\xB3\xA8\xE6\x84\x8F\xE8\xBF\x99\xE7\xA7\x8D\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE7\x9A\x84\xE6\x94\xBE\xE7\xBD\xAE\xE6\x96\xB9\xE5\xBC\x8F\xE4\xB9\x9F\xE8\x83\xBD\xE4\xBD\xBF\xE7\xA9\xBA\xEF\xBC\x88\xE6\x88\x96\xE8\x80\x85\xE5\xB7\xAE\xE4\xB8\x8D\xE5\xA4\x9A\xE7\xA9\xBA\xE7\x9A\x84\xEF\xBC\x89\xE8\xA1\x8C\xE7\x9A\x84\xE6\x95\xB0\xE9\x87\x8F\xE6\x9C\x80\xE5\xB0\x8F\xE5\x8C\x96\xEF\xBC\x8C\xE5\x90\x8C\xE6\x97\xB6\xE4\xB8\x8D\xE5\xA4\xB1\xE5\x8F\xAF 161\xE8\xAF\xBB\xE6\x80\xA7\xE3\x80\x82\xE5\x9B\xA0\xE6\xAD\xA4\xEF\xBC\x8C\xE7\x94\xB1\xE4\xBA\x8E\xE4\xBD\xA0\xE7\x9A\x84\xE5\xB1\x8F\xE5\xB9\x95\xE4\xB8\x8A\xE7\x9A\x84\xE6\x96\xB0\xE8\xA1\x8C\xE6\x98\xAF\xE4\xB8\x8D\xE5\x8F\xAF\xE5\x86\x8D\xE7\x94\x9F\xE8\xB5\x84\xE6\xBA\x90\xEF\xBC\x88\xE6\x83\xB3\xE6\x83\xB325\xE8\xA1\x8C\xE7\x9A\x84\xE7\xBB\x88\xE7\xAB\xAF\xE5\xB1\x8F\xE5\xB9\x95\xEF\xBC\x89\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xB0\x86\xE4\xBC\x9A\xE6\x9C\x89\xE6\x9B\xB4 162\xE5\xA4\x9A\xE7\x9A\x84\xE7\xA9\xBA\xE8\xA1\x8C\xE6\x9D\xA5\xE6\x94\xBE\xE7\xBD\xAE\xE6\xB3\xA8\xE9\x87\x8A\xE3\x80\x82 163 164\xE5\xBD\x93\xE5\x8F\xAA\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8D\x95\xE7\x8B\xAC\xE7\x9A\x84\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8C\xE4\xB8\x8D\xE7\x94\xA8\xE5\x8A\xA0\xE4\xB8\x8D\xE5\xBF\x85\xE8\xA6\x81\xE7\x9A\x84\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE3\x80\x82 165 166if (condition) 167 action(); 168 169\xE8\xBF\x99\xE7\x82\xB9\xE4\xB8\x8D\xE9\x80\x82\xE7\x94\xA8\xE4\xBA\x8E\xE6\x9C\xAC\xE8\xBA\xAB\xE4\xB8\xBA\xE6\x9F\x90\xE4\xB8\xAA\xE6\x9D\xA1\xE4\xBB\xB6\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE4\xB8\x80\xE4\xB8\xAA\xE5\x88\x86\xE6\x94\xAF\xE7\x9A\x84\xE5\x8D\x95\xE7\x8B\xAC\xE8\xAF\xAD\xE5\x8F\xA5\xE3\x80\x82\xE8\xBF\x99\xE6\x97\xB6\xE9\x9C\x80\xE8\xA6\x81\xE5\x9C\xA8\xE4\xB8\xA4\xE4\xB8\xAA\xE5\x88\x86\xE6\x94\xAF\xE9\x87\x8C\xE9\x83\xBD\xE4\xBD\xBF\xE7\x94\xA8\xE5\xA4\xA7 170\xE6\x8B\xAC\xE5\x8F\xB7\xE3\x80\x82 171 172if (condition) { 173 do_this(); 174 do_that(); 175} else { 176 otherwise(); 177} 178 179 3.1\xEF\xBC\x9A\xE7\xA9\xBA\xE6\xA0\xBC 180 181Linux\xE5\x86\x85\xE6\xA0\xB8\xE7\x9A\x84\xE7\xA9\xBA\xE6\xA0\xBC\xE4\xBD\xBF\xE7\x94\xA8\xE6\x96\xB9\xE5\xBC\x8F\xEF\xBC\x88\xE4\xB8\xBB\xE8\xA6\x81\xEF\xBC\x89\xE5\x8F\x96\xE5\x86\xB3\xE4\xBA\x8E\xE5\xAE\x83\xE6\x98\xAF\xE7\x94\xA8\xE4\xBA\x8E\xE5\x87\xBD\xE6\x95\xB0\xE8\xBF\x98\xE6\x98\xAF\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE3\x80\x82\xEF\xBC\x88\xE5\xA4\xA7\xE5\xA4\x9A\xE6\x95\xB0\xEF\xBC\x89\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE5\x90\x8E 182\xE8\xA6\x81\xE5\x8A\xA0\xE4\xB8\x80\xE4\xB8\xAA\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82\xE5\x80\xBC\xE5\xBE\x97\xE6\xB3\xA8\xE6\x84\x8F\xE7\x9A\x84\xE4\xBE\x8B\xE5\xA4\x96\xE6\x98\xAFsizeof\xE3\x80\x81typeof\xE3\x80\x81alignof\xE5\x92\x8C__attribute__\xEF\xBC\x8C\xE8\xBF\x99\xE4\xBA\x9B\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97 183\xE6\x9F\x90\xE4\xBA\x9B\xE7\xA8\x8B\xE5\xBA\xA6\xE4\xB8\x8A\xE7\x9C\x8B\xE8\xB5\xB7\xE6\x9D\xA5\xE6\x9B\xB4\xE5\x83\x8F\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x88\xE5\xAE\x83\xE4\xBB\xAC\xE5\x9C\xA8Linux\xE9\x87\x8C\xE4\xB9\x9F\xE5\xB8\xB8\xE5\xB8\xB8\xE4\xBC\xB4\xE9\x9A\x8F\xE5\xB0\x8F\xE6\x8B\xAC\xE5\x8F\xB7\xE8\x80\x8C\xE4\xBD\xBF\xE7\x94\xA8\xEF\xBC\x8C\xE5\xB0\xBD\xE7\xAE\xA1\xE5\x9C\xA8C\xE8\xAF\xAD\xE8\xA8\x80\xE9\x87\x8C\xE8\xBF\x99\xE6\xA0\xB7 184\xE7\x9A\x84\xE5\xB0\x8F\xE6\x8B\xAC\xE5\x8F\xB7\xE4\xB8\x8D\xE6\x98\xAF\xE5\xBF\x85\xE9\x9C\x80\xE7\x9A\x84\xEF\xBC\x8C\xE5\xB0\xB1\xE5\x83\x8F\xE2\x80\x9Cstruct fileinfo info\xE2\x80\x9D\xE5\xA3\xB0\xE6\x98\x8E\xE8\xBF\x87\xE5\x90\x8E\xE7\x9A\x84\xE2\x80\x9Csizeof info\xE2\x80\x9D\xEF\xBC\x89\xE3\x80\x82 185 186\xE6\x89\x80\xE4\xBB\xA5\xE5\x9C\xA8\xE8\xBF\x99\xE4\xBA\x9B\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE4\xB9\x8B\xE5\x90\x8E\xE6\x94\xBE\xE4\xB8\x80\xE4\xB8\xAA\xE7\xA9\xBA\xE6\xA0\xBC\xEF\xBC\x9A 187 if, switch, case, for, do, while 188\xE4\xBD\x86\xE6\x98\xAF\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8sizeof\xE3\x80\x81typeof\xE3\x80\x81alignof\xE6\x88\x96\xE8\x80\x85__attribute__\xE8\xBF\x99\xE4\xBA\x9B\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE4\xB9\x8B\xE5\x90\x8E\xE6\x94\xBE\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82\xE4\xBE\x8B\xE5\xA6\x82\xEF\xBC\x8C 189 s = sizeof(struct file); 190 191\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE5\xB0\x8F\xE6\x8B\xAC\xE5\x8F\xB7\xE9\x87\x8C\xE7\x9A\x84\xE8\xA1\xA8\xE8\xBE\xBE\xE5\xBC\x8F\xE4\xB8\xA4\xE4\xBE\xA7\xE5\x8A\xA0\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82\xE8\xBF\x99\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8F\x8D\xE4\xBE\x8B\xEF\xBC\x9A 192 193 s = sizeof( struct file ); 194 195\xE5\xBD\x93\xE5\xA3\xB0\xE6\x98\x8E\xE6\x8C\x87\xE9\x92\x88\xE7\xB1\xBB\xE5\x9E\x8B\xE6\x88\x96\xE8\x80\x85\xE8\xBF\x94\xE5\x9B\x9E\xE6\x8C\x87\xE9\x92\x88\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE6\x97\xB6\xEF\xBC\x8C\xE2\x80\x9C*\xE2\x80\x9D\xE7\x9A\x84\xE9\xA6\x96\xE9\x80\x89\xE4\xBD\xBF\xE7\x94\xA8\xE6\x96\xB9\xE5\xBC\x8F\xE6\x98\xAF\xE4\xBD\xBF\xE4\xB9\x8B\xE9\x9D\xA0\xE8\xBF\x91\xE5\x8F\x98\xE9\x87\x8F\xE5\x90\x8D\xE6\x88\x96\xE8\x80\x85\xE5\x87\xBD 196\xE6\x95\xB0\xE5\x90\x8D\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x8D\xE6\x98\xAF\xE9\x9D\xA0\xE8\xBF\x91\xE7\xB1\xBB\xE5\x9E\x8B\xE5\x90\x8D\xE3\x80\x82\xE4\xBE\x8B\xE5\xAD\x90\xEF\xBC\x9A 197 198 char *linux_banner; 199 unsigned long long memparse(char *ptr, char **retptr); 200 char *match_strdup(substring_t *s); 201 202\xE5\x9C\xA8\xE5\xA4\xA7\xE5\xA4\x9A\xE6\x95\xB0\xE4\xBA\x8C\xE5\x85\x83\xE5\x92\x8C\xE4\xB8\x89\xE5\x85\x83\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xE4\xB8\xA4\xE4\xBE\xA7\xE4\xBD\xBF\xE7\x94\xA8\xE4\xB8\x80\xE4\xB8\xAA\xE7\xA9\xBA\xE6\xA0\xBC\xEF\xBC\x8C\xE4\xBE\x8B\xE5\xA6\x82\xE4\xB8\x8B\xE9\x9D\xA2\xE6\x89\x80\xE6\x9C\x89\xE8\xBF\x99\xE4\xBA\x9B\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xEF\xBC\x9A 203 204 = + - < > * / % | & ^ <= >= == != ? : 205 206\xE4\xBD\x86\xE6\x98\xAF\xE4\xB8\x80\xE5\x85\x83\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xE5\x90\x8E\xE4\xB8\x8D\xE8\xA6\x81\xE5\x8A\xA0\xE7\xA9\xBA\xE6\xA0\xBC\xEF\xBC\x9A 207 & * + - ~ ! sizeof typeof alignof __attribute__ defined 208 209\xE5\x90\x8E\xE7\xBC\x80\xE8\x87\xAA\xE5\x8A\xA0\xE5\x92\x8C\xE8\x87\xAA\xE5\x87\x8F\xE4\xB8\x80\xE5\x85\x83\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xE5\x89\x8D\xE4\xB8\x8D\xE5\x8A\xA0\xE7\xA9\xBA\xE6\xA0\xBC\xEF\xBC\x9A 210 ++ -- 211 212\xE5\x89\x8D\xE7\xBC\x80\xE8\x87\xAA\xE5\x8A\xA0\xE5\x92\x8C\xE8\x87\xAA\xE5\x87\x8F\xE4\xB8\x80\xE5\x85\x83\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xE5\x90\x8E\xE4\xB8\x8D\xE5\x8A\xA0\xE7\xA9\xBA\xE6\xA0\xBC\xEF\xBC\x9A 213 ++ -- 214 215\xE2\x80\x9C.\xE2\x80\x9D\xE5\x92\x8C\xE2\x80\x9C->\xE2\x80\x9D\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE6\x88\x90\xE5\x91\x98\xE6\x93\x8D\xE4\xBD\x9C\xE7\xAC\xA6\xE5\x89\x8D\xE5\x90\x8E\xE4\xB8\x8D\xE5\x8A\xA0\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82 216 217\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE8\xA1\x8C\xE5\xB0\xBE\xE7\x95\x99\xE7\xA9\xBA\xE7\x99\xBD\xE3\x80\x82\xE6\x9C\x89\xE4\xBA\x9B\xE5\x8F\xAF\xE4\xBB\xA5\xE8\x87\xAA\xE5\x8A\xA8\xE7\xBC\xA9\xE8\xBF\x9B\xE7\x9A\x84\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xE4\xBC\x9A\xE5\x9C\xA8\xE6\x96\xB0\xE8\xA1\x8C\xE7\x9A\x84\xE8\xA1\x8C\xE9\xA6\x96\xE5\x8A\xA0\xE5\x85\xA5\xE9\x80\x82\xE9\x87\x8F\xE7\x9A\x84\xE7\xA9\xBA\xE7\x99\xBD\xEF\xBC\x8C\xE7\x84\xB6\xE5\x90\x8E\xE4\xBD\xA0 218\xE5\xB0\xB1\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x9B\xB4\xE6\x8E\xA5\xE5\x9C\xA8\xE9\x82\xA3\xE4\xB8\x80\xE8\xA1\x8C\xE8\xBE\x93\xE5\x85\xA5\xE4\xBB\xA3\xE7\xA0\x81\xE3\x80\x82\xE4\xB8\x8D\xE8\xBF\x87\xE5\x81\x87\xE5\xA6\x82\xE4\xBD\xA0\xE6\x9C\x80\xE5\x90\x8E\xE6\xB2\xA1\xE6\x9C\x89\xE5\x9C\xA8\xE9\x82\xA3\xE4\xB8\x80\xE8\xA1\x8C\xE8\xBE\x93\xE5\x85\xA5\xE4\xBB\xA3\xE7\xA0\x81\xEF\xBC\x8C\xE6\x9C\x89\xE4\xBA\x9B\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xE5\xB0\xB1\xE4\xB8\x8D 219\xE4\xBC\x9A\xE7\xA7\xBB\xE9\x99\xA4\xE5\xB7\xB2\xE7\xBB\x8F\xE5\x8A\xA0\xE5\x85\xA5\xE7\x9A\x84\xE7\xA9\xBA\xE7\x99\xBD\xEF\xBC\x8C\xE5\xB0\xB1\xE5\x83\x8F\xE4\xBD\xA0\xE6\x95\x85\xE6\x84\x8F\xE7\x95\x99\xE4\xB8\x8B\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8F\xAA\xE6\x9C\x89\xE7\xA9\xBA\xE7\x99\xBD\xE7\x9A\x84\xE8\xA1\x8C\xE3\x80\x82\xE5\x8C\x85\xE5\x90\xAB\xE8\xA1\x8C\xE5\xB0\xBE\xE7\xA9\xBA\xE7\x99\xBD\xE7\x9A\x84\xE8\xA1\x8C\xE5\xB0\xB1\xE8\xBF\x99\xE6\xA0\xB7\xE4\xBA\xA7 220\xE7\x94\x9F\xE4\xBA\x86\xE3\x80\x82 221 222\xE5\xBD\x93git\xE5\x8F\x91\xE7\x8E\xB0\xE8\xA1\xA5\xE4\xB8\x81\xE5\x8C\x85\xE5\x90\xAB\xE4\xBA\x86\xE8\xA1\x8C\xE5\xB0\xBE\xE7\xA9\xBA\xE7\x99\xBD\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xE4\xBC\x9A\xE8\xAD\xA6\xE5\x91\x8A\xE4\xBD\xA0\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xE5\x8F\xAF\xE4\xBB\xA5\xE5\xBA\x94\xE4\xBD\xA0\xE7\x9A\x84\xE8\xA6\x81\xE6\xB1\x82\xE5\x8E\xBB\xE6\x8E\x89\xE8\xA1\x8C\xE5\xB0\xBE\xE7\xA9\xBA\xE7\x99\xBD\xEF\xBC\x9B\xE4\xB8\x8D\xE8\xBF\x87 223\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x98\xAF\xE6\xAD\xA3\xE5\x9C\xA8\xE6\x89\x93\xE4\xB8\x80\xE7\xB3\xBB\xE5\x88\x97\xE8\xA1\xA5\xE4\xB8\x81\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xE4\xBC\x9A\xE5\xAF\xBC\xE8\x87\xB4\xE5\x90\x8E\xE9\x9D\xA2\xE7\x9A\x84\xE8\xA1\xA5\xE4\xB8\x81\xE5\xA4\xB1\xE8\xB4\xA5\xEF\xBC\x8C\xE5\x9B\xA0\xE4\xB8\xBA\xE4\xBD\xA0\xE6\x94\xB9\xE5\x8F\x98\xE4\xBA\x86\xE8\xA1\xA5\xE4\xB8\x81\xE7\x9A\x84\xE4\xB8\x8A\xE4\xB8\x8B\xE6\x96\x87\xE3\x80\x82 224 225 226 \xE7\xAC\xAC\xE5\x9B\x9B\xE7\xAB\xA0\xEF\xBC\x9A\xE5\x91\xBD\xE5\x90\x8D 227 228C\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE7\xAE\x80\xE6\x9C\xB4\xE7\x9A\x84\xE8\xAF\xAD\xE8\xA8\x80\xEF\xBC\x8C\xE4\xBD\xA0\xE7\x9A\x84\xE5\x91\xBD\xE5\x90\x8D\xE4\xB9\x9F\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x99\xE6\xA0\xB7\xE3\x80\x82\xE5\x92\x8CModula-2\xE5\x92\x8CPascal\xE7\xA8\x8B\xE5\xBA\x8F\xE5\x91\x98\xE4\xB8\x8D\xE5\x90\x8C\xEF\xBC\x8CC\xE7\xA8\x8B\xE5\xBA\x8F\xE5\x91\x98\xE4\xB8\x8D\xE4\xBD\xBF 229\xE7\x94\xA8\xE7\xB1\xBB\xE4\xBC\xBCThisVariableIsATemporaryCounter\xE8\xBF\x99\xE6\xA0\xB7\xE5\x8D\x8E\xE4\xB8\xBD\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE3\x80\x82C\xE7\xA8\x8B\xE5\xBA\x8F\xE5\x91\x98\xE4\xBC\x9A\xE7\xA7\xB0\xE9\x82\xA3\xE4\xB8\xAA\xE5\x8F\x98\xE9\x87\x8F\xE4\xB8\xBA\xE2\x80\x9Ctmp\xE2\x80\x9D 230\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE5\x86\x99\xE8\xB5\xB7\xE6\x9D\xA5\xE4\xBC\x9A\xE6\x9B\xB4\xE5\xAE\xB9\xE6\x98\x93\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE8\x87\xB3\xE5\xB0\x91\xE4\xB8\x8D\xE4\xBC\x9A\xE4\xBB\xA4\xE5\x85\xB6\xE9\x9A\xBE\xE4\xBA\x8E\xE7\x90\x86\xE8\xA7\xA3\xE3\x80\x82 231 232\xE4\xB8\x8D\xE8\xBF\x87\xEF\xBC\x8C\xE8\x99\xBD\xE7\x84\xB6\xE6\xB7\xB7\xE7\x94\xA8\xE5\xA4\xA7\xE5\xB0\x8F\xE5\x86\x99\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE6\x98\xAF\xE4\xB8\x8D\xE6\x8F\x90\xE5\x80\xA1\xE4\xBD\xBF\xE7\x94\xA8\xE7\x9A\x84\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAF\xE5\x85\xA8\xE5\xB1\x80\xE5\x8F\x98\xE9\x87\x8F\xE8\xBF\x98\xE6\x98\xAF\xE9\x9C\x80\xE8\xA6\x81\xE4\xB8\x80\xE4\xB8\xAA\xE5\x85\xB7\xE6\x8F\x8F\xE8\xBF\xB0\xE6\x80\xA7\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97 233\xE3\x80\x82\xE7\xA7\xB0\xE4\xB8\x80\xE4\xB8\xAA\xE5\x85\xA8\xE5\xB1\x80\xE5\x87\xBD\xE6\x95\xB0\xE4\xB8\xBA\xE2\x80\x9Cfoo\xE2\x80\x9D\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE9\x9A\xBE\xE4\xBB\xA5\xE9\xA5\xB6\xE6\x81\x95\xE7\x9A\x84\xE9\x94\x99\xE8\xAF\xAF\xE3\x80\x82 234 235\xE5\x85\xA8\xE5\xB1\x80\xE5\x8F\x98\xE9\x87\x8F\xEF\xBC\x88\xE5\x8F\xAA\xE6\x9C\x89\xE5\xBD\x93\xE4\xBD\xA0\xE7\x9C\x9F\xE6\xAD\xA3\xE9\x9C\x80\xE8\xA6\x81\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xE5\x86\x8D\xE7\x94\xA8\xE5\xAE\x83\xEF\xBC\x89\xE9\x9C\x80\xE8\xA6\x81\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\x85\xB7\xE6\x8F\x8F\xE8\xBF\xB0\xE6\x80\xA7\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xEF\xBC\x8C\xE5\xB0\xB1\xE5\x83\x8F\xE5\x85\xA8\xE5\xB1\x80\xE5\x87\xBD 236\xE6\x95\xB0\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xAE\xA1\xE7\xAE\x97\xE6\xB4\xBB\xE5\x8A\xA8\xE7\x94\xA8\xE6\x88\xB7\xE6\x95\xB0\xE9\x87\x8F\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE5\x8F\xAB\xE5\xAE\x83\xE2\x80\x9Ccount_active_users()\xE2\x80\x9D\xE6\x88\x96\xE8\x80\x85 237\xE7\xB1\xBB\xE4\xBC\xBC\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xEF\xBC\x8C\xE4\xBD\xA0\xE4\xB8\x8D\xE5\xBA\x94\xE8\xAF\xA5\xE5\x8F\xAB\xE5\xAE\x83\xE2\x80\x9Ccntuser()\xE2\x80\x9D\xE3\x80\x82 238 239\xE5\x9C\xA8\xE5\x87\xBD\xE6\x95\xB0\xE5\x90\x8D\xE4\xB8\xAD\xE5\x8C\x85\xE5\x90\xAB\xE5\x87\xBD\xE6\x95\xB0\xE7\xB1\xBB\xE5\x9E\x8B\xEF\xBC\x88\xE6\x89\x80\xE8\xB0\x93\xE7\x9A\x84\xE5\x8C\x88\xE7\x89\x99\xE5\x88\xA9\xE5\x91\xBD\xE5\x90\x8D\xE6\xB3\x95\xEF\xBC\x89\xE6\x98\xAF\xE8\x84\x91\xE5\xAD\x90\xE5\x87\xBA\xE4\xBA\x86\xE9\x97\xAE\xE9\xA2\x98\xE2\x80\x94\xE2\x80\x94\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE7\x9F\xA5\xE9\x81\x93\xE9\x82\xA3\xE4\xBA\x9B\xE7\xB1\xBB\xE5\x9E\x8B\xE8\x80\x8C 240\xE4\xB8\x94\xE8\x83\xBD\xE5\xA4\x9F\xE6\xA3\x80\xE6\x9F\xA5\xE9\x82\xA3\xE4\xBA\x9B\xE7\xB1\xBB\xE5\x9E\x8B\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xE5\x8F\xAA\xE8\x83\xBD\xE6\x8A\x8A\xE7\xA8\x8B\xE5\xBA\x8F\xE5\x91\x98\xE5\xBC\x84\xE7\xB3\x8A\xE6\xB6\x82\xE4\xBA\x86\xE3\x80\x82\xE9\x9A\xBE\xE6\x80\xAA\xE5\xBE\xAE\xE8\xBD\xAF\xE6\x80\xBB\xE6\x98\xAF\xE5\x88\xB6\xE9\x80\xA0\xE5\x87\xBA\xE6\x9C\x89\xE9\x97\xAE\xE9\xA2\x98\xE7\x9A\x84\xE7\xA8\x8B\xE5\xBA\x8F\xE3\x80\x82 241 242\xE6\x9C\xAC\xE5\x9C\xB0\xE5\x8F\x98\xE9\x87\x8F\xE5\x90\x8D\xE5\xBA\x94\xE8\xAF\xA5\xE7\xAE\x80\xE7\x9F\xAD\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE8\x83\xBD\xE5\xA4\x9F\xE8\xA1\xA8\xE8\xBE\xBE\xE7\x9B\xB8\xE5\x85\xB3\xE7\x9A\x84\xE5\x90\xAB\xE4\xB9\x89\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x9C\x89\xE4\xB8\x80\xE4\xBA\x9B\xE9\x9A\x8F\xE6\x9C\xBA\xE7\x9A\x84\xE6\x95\xB4\xE6\x95\xB0\xE5\x9E\x8B\xE7\x9A\x84\xE5\xBE\xAA\xE7\x8E\xAF\xE8\xAE\xA1\xE6\x95\xB0\xE5\x99\xA8 243\xEF\xBC\x8C\xE5\xAE\x83\xE5\xBA\x94\xE8\xAF\xA5\xE8\xA2\xAB\xE7\xA7\xB0\xE4\xB8\xBA\xE2\x80\x9Ci\xE2\x80\x9D\xE3\x80\x82\xE5\x8F\xAB\xE5\xAE\x83\xE2\x80\x9Cloop_counter\xE2\x80\x9D\xE5\xB9\xB6\xE6\x97\xA0\xE7\x9B\x8A\xE5\xA4\x84\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE5\xAE\x83\xE6\xB2\xA1\xE6\x9C\x89\xE8\xA2\xAB\xE8\xAF\xAF\xE8\xA7\xA3\xE7\x9A\x84\xE5\x8F\xAF\xE8\x83\xBD\xE7\x9A\x84\xE8\xAF\x9D\xE3\x80\x82\xE7\xB1\xBB\xE4\xBC\xBC 244\xE7\x9A\x84\xEF\xBC\x8C\xE2\x80\x9Ctmp\xE2\x80\x9D\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x94\xA8\xE6\x9D\xA5\xE7\xA7\xB0\xE5\x91\xBC\xE4\xBB\xBB\xE6\x84\x8F\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9A\x84\xE4\xB8\xB4\xE6\x97\xB6\xE5\x8F\x98\xE9\x87\x8F\xE3\x80\x82 245 246\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x80\x95\xE6\xB7\xB7\xE6\xB7\x86\xE4\xBA\x86\xE4\xBD\xA0\xE7\x9A\x84\xE6\x9C\xAC\xE5\x9C\xB0\xE5\x8F\x98\xE9\x87\x8F\xE5\x90\x8D\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xB0\xB1\xE9\x81\x87\xE5\x88\xB0\xE5\x8F\xA6\xE4\xB8\x80\xE4\xB8\xAA\xE9\x97\xAE\xE9\xA2\x98\xE4\xBA\x86\xEF\xBC\x8C\xE5\x8F\xAB\xE5\x81\x9A\xE5\x87\xBD\xE6\x95\xB0\xE5\xA2\x9E\xE9\x95\xBF\xE8\x8D\xB7\xE5\xB0\x94\xE8\x92\x99\xE5\xA4\xB1\xE8\xA1\xA1\xE7\xBB\xBC\xE5\x90\x88\xE7\x97\x87 247\xE3\x80\x82\xE8\xAF\xB7\xE7\x9C\x8B\xE7\xAC\xAC\xE5\x85\xAD\xE7\xAB\xA0\xEF\xBC\x88\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x89\xE3\x80\x82 248 249 250 \xE7\xAC\xAC\xE4\xBA\x94\xE7\xAB\xA0\xEF\xBC\x9ATypedef 251 252\xE4\xB8\x8D\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8\xE7\xB1\xBB\xE4\xBC\xBC\xE2\x80\x9Cvps_t\xE2\x80\x9D\xE4\xB9\x8B\xE7\xB1\xBB\xE7\x9A\x84\xE4\xB8\x9C\xE8\xA5\xBF\xE3\x80\x82 253 254\xE5\xAF\xB9\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE5\x92\x8C\xE6\x8C\x87\xE9\x92\x88\xE4\xBD\xBF\xE7\x94\xA8typedef\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE9\x94\x99\xE8\xAF\xAF\xE3\x80\x82\xE5\xBD\x93\xE4\xBD\xA0\xE5\x9C\xA8\xE4\xBB\xA3\xE7\xA0\x81\xE9\x87\x8C\xE7\x9C\x8B\xE5\x88\xB0\xEF\xBC\x9A 255 256 vps_t a; 257 258\xE8\xBF\x99\xE4\xBB\xA3\xE8\xA1\xA8\xE4\xBB\x80\xE4\xB9\x88\xE6\x84\x8F\xE6\x80\x9D\xE5\x91\xA2\xEF\xBC\x9F 259 260\xE7\x9B\xB8\xE5\x8F\x8D\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE6\x98\xAF\xE8\xBF\x99\xE6\xA0\xB7 261 262 struct virtual_container *a; 263 264\xE4\xBD\xA0\xE5\xB0\xB1\xE7\x9F\xA5\xE9\x81\x93\xE2\x80\x9Ca\xE2\x80\x9D\xE6\x98\xAF\xE4\xBB\x80\xE4\xB9\x88\xE4\xBA\x86\xE3\x80\x82 265 266\xE5\xBE\x88\xE5\xA4\x9A\xE4\xBA\xBA\xE8\xAE\xA4\xE4\xB8\xBAtypedef\xE2\x80\x9C\xE8\x83\xBD\xE6\x8F\x90\xE9\xAB\x98\xE5\x8F\xAF\xE8\xAF\xBB\xE6\x80\xA7\xE2\x80\x9D\xE3\x80\x82\xE5\xAE\x9E\xE9\x99\x85\xE4\xB8\x8D\xE6\x98\xAF\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE3\x80\x82\xE5\xAE\x83\xE4\xBB\xAC\xE5\x8F\xAA\xE5\x9C\xA8\xE4\xB8\x8B\xE5\x88\x97\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE6\x9C\x89\xE7\x94\xA8\xEF\xBC\x9A 267 268 (a) \xE5\xAE\x8C\xE5\x85\xA8\xE4\xB8\x8D\xE9\x80\x8F\xE6\x98\x8E\xE7\x9A\x84\xE5\xAF\xB9\xE8\xB1\xA1\xEF\xBC\x88\xE8\xBF\x99\xE7\xA7\x8D\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE8\xA6\x81\xE4\xB8\xBB\xE5\x8A\xA8\xE4\xBD\xBF\xE7\x94\xA8typedef\xE6\x9D\xA5\xE9\x9A\x90\xE8\x97\x8F\xE8\xBF\x99\xE4\xB8\xAA\xE5\xAF\xB9\xE8\xB1\xA1\xE5\xAE\x9E\xE9\x99\x85\xE4\xB8\x8A\xE6\x98\xAF\xE4\xBB\x80\xE4\xB9\x88\xEF\xBC\x89\xE3\x80\x82 269 270 \xE4\xBE\x8B\xE5\xA6\x82\xEF\xBC\x9A\xE2\x80\x9Cpte_t\xE2\x80\x9D\xE7\xAD\x89\xE4\xB8\x8D\xE9\x80\x8F\xE6\x98\x8E\xE5\xAF\xB9\xE8\xB1\xA1\xEF\xBC\x8C\xE4\xBD\xA0\xE5\x8F\xAA\xE8\x83\xBD\xE7\x94\xA8\xE5\x90\x88\xE9\x80\x82\xE7\x9A\x84\xE8\xAE\xBF\xE9\x97\xAE\xE5\x87\xBD\xE6\x95\xB0\xE6\x9D\xA5\xE8\xAE\xBF\xE9\x97\xAE\xE5\xAE\x83\xE4\xBB\xAC\xE3\x80\x82 271 272 \xE6\xB3\xA8\xE6\x84\x8F\xEF\xBC\x81\xE4\xB8\x8D\xE9\x80\x8F\xE6\x98\x8E\xE6\x80\xA7\xE5\x92\x8C\xE2\x80\x9C\xE8\xAE\xBF\xE9\x97\xAE\xE5\x87\xBD\xE6\x95\xB0\xE2\x80\x9D\xE6\x9C\xAC\xE8\xBA\xAB\xE6\x98\xAF\xE4\xB8\x8D\xE5\xA5\xBD\xE7\x9A\x84\xE3\x80\x82\xE6\x88\x91\xE4\xBB\xAC\xE4\xBD\xBF\xE7\x94\xA8pte_t\xE7\xAD\x89\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9A\x84\xE5\x8E\x9F\xE5\x9B\xA0\xE5\x9C\xA8\xE4\xBA\x8E\xE7\x9C\x9F\xE7\x9A\x84\xE6\x98\xAF 273 \xE5\xAE\x8C\xE5\x85\xA8\xE6\xB2\xA1\xE6\x9C\x89\xE4\xBB\xBB\xE4\xBD\x95\xE5\x85\xB1\xE7\x94\xA8\xE7\x9A\x84\xE5\x8F\xAF\xE8\xAE\xBF\xE9\x97\xAE\xE4\xBF\xA1\xE6\x81\xAF\xE3\x80\x82 274 275 (b) \xE6\xB8\x85\xE6\xA5\x9A\xE7\x9A\x84\xE6\x95\xB4\xE6\x95\xB0\xE7\xB1\xBB\xE5\x9E\x8B\xEF\xBC\x8C\xE5\xA6\x82\xE6\xAD\xA4\xEF\xBC\x8C\xE8\xBF\x99\xE5\xB1\x82\xE6\x8A\xBD\xE8\xB1\xA1\xE5\xB0\xB1\xE5\x8F\xAF\xE4\xBB\xA5\xE5\xB8\xAE\xE5\x8A\xA9\xE6\xB6\x88\xE9\x99\xA4\xE5\x88\xB0\xE5\xBA\x95\xE6\x98\xAF\xE2\x80\x9Cint\xE2\x80\x9D\xE8\xBF\x98\xE6\x98\xAF\xE2\x80\x9Clong\xE2\x80\x9D\xE7\x9A\x84\xE6\xB7\xB7\xE6\xB7\x86\xE3\x80\x82 276 277 u8/u16/u32\xE6\x98\xAF\xE5\xAE\x8C\xE5\x85\xA8\xE6\xB2\xA1\xE6\x9C\x89\xE9\x97\xAE\xE9\xA2\x98\xE7\x9A\x84typedef\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\xAE\x83\xE4\xBB\xAC\xE6\x9B\xB4\xE7\xAC\xA6\xE5\x90\x88\xE7\xB1\xBB\xE5\x88\xAB(d)\xE8\x80\x8C\xE4\xB8\x8D\xE6\x98\xAF\xE8\xBF\x99\xE9\x87\x8C\xE3\x80\x82 278 279 \xE5\x86\x8D\xE6\xAC\xA1\xE6\xB3\xA8\xE6\x84\x8F\xEF\xBC\x81\xE8\xA6\x81\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xEF\xBC\x8C\xE5\xBF\x85\xE9\xA1\xBB\xE4\xBA\x8B\xE5\x87\xBA\xE6\x9C\x89\xE5\x9B\xA0\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9F\x90\xE4\xB8\xAA\xE5\x8F\x98\xE9\x87\x8F\xE6\x98\xAF\xE2\x80\x9Cunsigned long\xE2\x80\x9C\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE6\xB2\xA1\xE6\x9C\x89\xE5\xBF\x85\xE8\xA6\x81 280 281 typedef unsigned long myflags_t; 282 283 \xE4\xB8\x8D\xE8\xBF\x87\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE6\x98\x8E\xE7\xA1\xAE\xE7\x9A\x84\xE5\x8E\x9F\xE5\x9B\xA0\xEF\xBC\x8C\xE6\xAF\x94\xE5\xA6\x82\xE5\xAE\x83\xE5\x9C\xA8\xE6\x9F\x90\xE7\xA7\x8D\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE2\x80\x9Cunsigned int\xE2\x80\x9D\xE8\x80\x8C\xE5\x9C\xA8 284 \xE5\x85\xB6\xE4\xBB\x96\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE5\x8F\xAF\xE8\x83\xBD\xE4\xB8\xBA\xE2\x80\x9Cunsigned long\xE2\x80\x9D\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE5\xB0\xB1\xE4\xB8\x8D\xE8\xA6\x81\xE7\x8A\xB9\xE8\xB1\xAB\xEF\xBC\x8C\xE8\xAF\xB7\xE5\x8A\xA1\xE5\xBF\x85\xE4\xBD\xBF\xE7\x94\xA8typedef\xE3\x80\x82 285 286 (c) \xE5\xBD\x93\xE4\xBD\xA0\xE4\xBD\xBF\xE7\x94\xA8sparse\xE6\x8C\x89\xE5\xAD\x97\xE9\x9D\xA2\xE7\x9A\x84\xE5\x88\x9B\xE5\xBB\xBA\xE4\xB8\x80\xE4\xB8\xAA\xE6\x96\xB0\xE7\xB1\xBB\xE5\x9E\x8B\xE6\x9D\xA5\xE5\x81\x9A\xE7\xB1\xBB\xE5\x9E\x8B\xE6\xA3\x80\xE6\x9F\xA5\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xE3\x80\x82 287 288 (d) \xE5\x92\x8C\xE6\xA0\x87\xE5\x87\x86C99\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9B\xB8\xE5\x90\x8C\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xEF\xBC\x8C\xE5\x9C\xA8\xE6\x9F\x90\xE4\xBA\x9B\xE4\xBE\x8B\xE5\xA4\x96\xE7\x9A\x84\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE3\x80\x82 289 290 \xE8\x99\xBD\xE7\x84\xB6\xE8\xAE\xA9\xE7\x9C\xBC\xE7\x9D\x9B\xE5\x92\x8C\xE8\x84\x91\xE7\xAD\x8B\xE6\x9D\xA5\xE9\x80\x82\xE5\xBA\x94\xE6\x96\xB0\xE7\x9A\x84\xE6\xA0\x87\xE5\x87\x86\xE7\xB1\xBB\xE5\x9E\x8B\xE6\xAF\x94\xE5\xA6\x82\xE2\x80\x9Cuint32_t\xE2\x80\x9D\xE4\xB8\x8D\xE9\x9C\x80\xE8\xA6\x81\xE8\x8A\xB1\xE5\xBE\x88\xE5\xA4\x9A\xE6\x97\xB6\xE9\x97\xB4\xEF\xBC\x8C\xE5\x8F\xAF\xE6\x98\xAF\xE6\x9C\x89\xE4\xBA\x9B 291 \xE4\xBA\xBA\xE4\xBB\x8D\xE7\x84\xB6\xE6\x8B\x92\xE7\xBB\x9D\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x83\xE4\xBB\xAC\xE3\x80\x82 292 293 \xE5\x9B\xA0\xE6\xAD\xA4\xEF\xBC\x8CLinux\xE7\x89\xB9\xE6\x9C\x89\xE7\x9A\x84\xE7\xAD\x89\xE5\x90\x8C\xE4\xBA\x8E\xE6\xA0\x87\xE5\x87\x86\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9A\x84\xE2\x80\x9Cu8/u16/u32/u64\xE2\x80\x9D\xE7\xB1\xBB\xE5\x9E\x8B\xE5\x92\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE6\x9C\x89\xE7\xAC\xA6\xE5\x8F\xB7\xE7\xB1\xBB\xE5\x9E\x8B\xE6\x98\xAF\xE8\xA2\xAB 294 \xE5\x85\x81\xE8\xAE\xB8\xE7\x9A\x84\xE2\x80\x94\xE2\x80\x94\xE5\xB0\xBD\xE7\xAE\xA1\xE5\x9C\xA8\xE4\xBD\xA0\xE8\x87\xAA\xE5\xB7\xB1\xE7\x9A\x84\xE6\x96\xB0\xE4\xBB\xA3\xE7\xA0\x81\xE4\xB8\xAD\xEF\xBC\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE4\xB8\x8D\xE6\x98\xAF\xE5\xBC\xBA\xE5\x88\xB6\xE8\xA6\x81\xE6\xB1\x82\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8\xE7\x9A\x84\xE3\x80\x82 295 296 \xE5\xBD\x93\xE7\xBC\x96\xE8\xBE\x91\xE5\xB7\xB2\xE7\xBB\x8F\xE4\xBD\xBF\xE7\x94\xA8\xE4\xBA\x86\xE6\x9F\x90\xE4\xB8\xAA\xE7\xB1\xBB\xE5\x9E\x8B\xE9\x9B\x86\xE7\x9A\x84\xE5\xB7\xB2\xE6\x9C\x89\xE4\xBB\xA3\xE7\xA0\x81\xE6\x97\xB6\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE9\x81\xB5\xE5\xBE\xAA\xE9\x82\xA3\xE4\xBA\x9B\xE4\xBB\xA3\xE7\xA0\x81\xE4\xB8\xAD\xE5\xB7\xB2\xE7\xBB\x8F\xE5\x81\x9A\xE5\x87\xBA\xE7\x9A\x84\xE9\x80\x89\xE6\x8B\xA9\xE3\x80\x82 297 298 (e) \xE5\x8F\xAF\xE4\xBB\xA5\xE5\x9C\xA8\xE7\x94\xA8\xE6\x88\xB7\xE7\xA9\xBA\xE9\x97\xB4\xE5\xAE\x89\xE5\x85\xA8\xE4\xBD\xBF\xE7\x94\xA8\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82 299 300 \xE5\x9C\xA8\xE6\x9F\x90\xE4\xBA\x9B\xE7\x94\xA8\xE6\x88\xB7\xE7\xA9\xBA\xE9\x97\xB4\xE5\x8F\xAF\xE8\xA7\x81\xE7\x9A\x84\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE9\x87\x8C\xEF\xBC\x8C\xE6\x88\x91\xE4\xBB\xAC\xE4\xB8\x8D\xE8\x83\xBD\xE8\xA6\x81\xE6\xB1\x82C99\xE7\xB1\xBB\xE5\x9E\x8B\xE8\x80\x8C\xE4\xB8\x94\xE4\xB8\x8D\xE8\x83\xBD\xE7\x94\xA8\xE4\xB8\x8A\xE9\x9D\xA2\xE6\x8F\x90\xE5\x88\xB0\xE7\x9A\x84\xE2\x80\x9Cu32\xE2\x80\x9D 301 \xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82\xE5\x9B\xA0\xE6\xAD\xA4\xEF\xBC\x8C\xE6\x88\x91\xE4\xBB\xAC\xE5\x9C\xA8\xE4\xB8\x8E\xE7\x94\xA8\xE6\x88\xB7\xE7\xA9\xBA\xE9\x97\xB4\xE5\x85\xB1\xE4\xBA\xAB\xE7\x9A\x84\xE6\x89\x80\xE6\x9C\x89\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE4\xB8\xAD\xE4\xBD\xBF\xE7\x94\xA8__u32\xE5\x92\x8C\xE7\xB1\xBB\xE4\xBC\xBC\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82 302 303\xE5\x8F\xAF\xE8\x83\xBD\xE8\xBF\x98\xE6\x9C\x89\xE5\x85\xB6\xE4\xBB\x96\xE7\x9A\x84\xE6\x83\x85\xE5\x86\xB5\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\x9F\xBA\xE6\x9C\xAC\xE7\x9A\x84\xE8\xA7\x84\xE5\x88\x99\xE6\x98\xAF\xE6\xB0\xB8\xE8\xBF\x9C\xE4\xB8\x8D\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8typedef\xEF\xBC\x8C\xE9\x99\xA4\xE9\x9D\x9E\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE6\x98\x8E\xE7\xA1\xAE\xE7\x9A\x84\xE5\xBA\x94\xE7\x94\xA8\xE4\xB8\x8A 304\xE8\xBF\xB0\xE6\x9F\x90\xE4\xB8\xAA\xE8\xA7\x84\xE5\x88\x99\xE4\xB8\xAD\xE7\x9A\x84\xE4\xB8\x80\xE4\xB8\xAA\xE3\x80\x82 305 306\xE6\x80\xBB\xE7\x9A\x84\xE6\x9D\xA5\xE8\xAF\xB4\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xB8\x80\xE4\xB8\xAA\xE6\x8C\x87\xE9\x92\x88\xE6\x88\x96\xE8\x80\x85\xE4\xB8\x80\xE4\xB8\xAA\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE9\x87\x8C\xE7\x9A\x84\xE5\x85\x83\xE7\xB4\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x90\x88\xE7\x90\x86\xE7\x9A\x84\xE8\xA2\xAB\xE7\x9B\xB4\xE6\x8E\xA5\xE8\xAE\xBF\xE9\x97\xAE\xE5\x88\xB0\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE5\xAE\x83\xE4\xBB\xAC\xE5\xB0\xB1\xE4\xB8\x8D 307\xE5\xBA\x94\xE8\xAF\xA5\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAAtypedef\xE3\x80\x82 308 309 310 \xE7\xAC\xAC\xE5\x85\xAD\xE7\xAB\xA0\xEF\xBC\x9A\xE5\x87\xBD\xE6\x95\xB0 311 312\xE5\x87\xBD\xE6\x95\xB0\xE5\xBA\x94\xE8\xAF\xA5\xE7\xAE\x80\xE7\x9F\xAD\xE8\x80\x8C\xE6\xBC\x82\xE4\xBA\xAE\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xE5\x8F\xAA\xE5\xAE\x8C\xE6\x88\x90\xE4\xB8\x80\xE4\xBB\xB6\xE4\xBA\x8B\xE6\x83\x85\xE3\x80\x82\xE5\x87\xBD\xE6\x95\xB0\xE5\xBA\x94\xE8\xAF\xA5\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xB8\x80\xE5\xB1\x8F\xE6\x88\x96\xE8\x80\x85\xE4\xB8\xA4\xE5\xB1\x8F\xE6\x98\xBE\xE7\xA4\xBA\xE5\xAE\x8C\xEF\xBC\x88\xE6\x88\x91\xE4\xBB\xAC\xE9\x83\xBD\xE7\x9F\xA5 313\xE9\x81\x93ISO/ANSI\xE5\xB1\x8F\xE5\xB9\x95\xE5\xA4\xA7\xE5\xB0\x8F\xE6\x98\xAF80x24\xEF\xBC\x89\xEF\xBC\x8C\xE5\x8F\xAA\xE5\x81\x9A\xE4\xB8\x80\xE4\xBB\xB6\xE4\xBA\x8B\xE6\x83\x85\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE6\x8A\x8A\xE5\xAE\x83\xE5\x81\x9A\xE5\xA5\xBD\xE3\x80\x82 314 315\xE4\xB8\x80\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE6\x9C\x80\xE5\xA4\xA7\xE9\x95\xBF\xE5\xBA\xA6\xE6\x98\xAF\xE5\x92\x8C\xE8\xAF\xA5\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\xA4\x8D\xE6\x9D\x82\xE5\xBA\xA6\xE5\x92\x8C\xE7\xBC\xA9\xE8\xBF\x9B\xE7\xBA\xA7\xE6\x95\xB0\xE6\x88\x90\xE5\x8F\x8D\xE6\xAF\x94\xE7\x9A\x84\xE3\x80\x82\xE6\x89\x80\xE4\xBB\xA5\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE7\x90\x86\xE8\xAE\xBA\xE4\xB8\x8A 316\xE5\xBE\x88\xE7\xAE\x80\xE5\x8D\x95\xE7\x9A\x84\xE5\x8F\xAA\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\xBE\x88\xE9\x95\xBF\xEF\xBC\x88\xE4\xBD\x86\xE6\x98\xAF\xE7\xAE\x80\xE5\x8D\x95\xEF\xBC\x89\xE7\x9A\x84case\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x81\xE5\x9C\xA8\xE6\xAF\x8F\xE4\xB8\xAAcase\xE9\x87\x8C\xE5\x81\x9A\xE5\xBE\x88\xE5\xA4\x9A\xE5\xBE\x88 317\xE5\xB0\x8F\xE7\x9A\x84\xE4\xBA\x8B\xE6\x83\x85\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE5\xB0\xBD\xE7\xAE\xA1\xE5\xBE\x88\xE9\x95\xBF\xEF\xBC\x8C\xE4\xBD\x86\xE4\xB9\x9F\xE6\x98\xAF\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x9A\x84\xE3\x80\x82 318 319\xE4\xB8\x8D\xE8\xBF\x87\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA4\x8D\xE6\x9D\x82\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE4\xBD\xA0\xE6\x80\x80\xE7\x96\x91\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA4\xA9\xE5\x88\x86\xE4\xB8\x8D\xE6\x98\xAF\xE5\xBE\x88\xE9\xAB\x98\xE7\x9A\x84\xE9\xAB\x98\xE4\xB8\xAD\xE4\xB8\x80\xE5\xB9\xB4\xE7\xBA\xA7\xE5\xAD\xA6\xE7\x94\x9F\xE5\x8F\xAF\xE8\x83\xBD\xE7\x94\x9A\xE8\x87\xB3 320\xE6\x90\x9E\xE4\xB8\x8D\xE6\xB8\x85\xE6\xA5\x9A\xE8\xBF\x99\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE7\x9B\xAE\xE7\x9A\x84\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE4\xB8\xA5\xE6\xA0\xBC\xE7\x9A\x84\xE9\x81\xB5\xE5\xAE\x88\xE5\x89\x8D\xE9\x9D\xA2\xE6\x8F\x90\xE5\x88\xB0\xE7\x9A\x84\xE9\x95\xBF\xE5\xBA\xA6\xE9\x99\x90\xE5\x88\xB6\xE3\x80\x82\xE4\xBD\xBF\xE7\x94\xA8\xE8\xBE\x85\xE5\x8A\xA9\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\xBA\xE4\xB9\x8B 321\xE5\x8F\x96\xE4\xB8\xAA\xE5\x85\xB7\xE6\x8F\x8F\xE8\xBF\xB0\xE6\x80\xA7\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xEF\xBC\x88\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE8\xA7\x89\xE5\xBE\x97\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE6\x80\xA7\xE8\x83\xBD\xE5\xBE\x88\xE9\x87\x8D\xE8\xA6\x81\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xAE\xA9\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE5\x86\x85\xE8\x81\x94\xE5\xAE\x83\xE4\xBB\xAC\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84 322\xE6\x95\x88\xE6\x9E\x9C\xE5\xBE\x80\xE5\xBE\x80\xE4\xBC\x9A\xE6\xAF\x94\xE4\xBD\xA0\xE5\x86\x99\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA4\x8D\xE6\x9D\x82\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE6\x95\x88\xE6\x9E\x9C\xE8\xA6\x81\xE5\xA5\xBD\xE3\x80\x82\xEF\xBC\x89 323 324\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\x8F\xA6\xE5\xA4\x96\xE4\xB8\x80\xE4\xB8\xAA\xE8\xA1\xA1\xE9\x87\x8F\xE6\xA0\x87\xE5\x87\x86\xE6\x98\xAF\xE6\x9C\xAC\xE5\x9C\xB0\xE5\x8F\x98\xE9\x87\x8F\xE7\x9A\x84\xE6\x95\xB0\xE9\x87\x8F\xE3\x80\x82\xE6\xAD\xA4\xE6\x95\xB0\xE9\x87\x8F\xE4\xB8\x8D\xE5\xBA\x94\xE8\xB6\x85\xE8\xBF\x875\xEF\xBC\x8D10\xE4\xB8\xAA\xEF\xBC\x8C\xE5\x90\xA6\xE5\x88\x99\xE4\xBD\xA0\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE5\xB0\xB1\xE6\x9C\x89 325\xE9\x97\xAE\xE9\xA2\x98\xE4\xBA\x86\xE3\x80\x82\xE9\x87\x8D\xE6\x96\xB0\xE8\x80\x83\xE8\x99\x91\xE4\xB8\x80\xE4\xB8\x8B\xE4\xBD\xA0\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE6\x8A\x8A\xE5\xAE\x83\xE5\x88\x86\xE6\x8B\x86\xE6\x88\x90\xE6\x9B\xB4\xE5\xB0\x8F\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE3\x80\x82\xE4\xBA\xBA\xE7\x9A\x84\xE5\xA4\xA7\xE8\x84\x91\xE4\xB8\x80\xE8\x88\xAC\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xBD\xBB\xE6\x9D\xBE\xE7\x9A\x84\xE5\x90\x8C\xE6\x97\xB6\xE8\xB7\x9F 326\xE8\xB8\xAA7\xE4\xB8\xAA\xE4\xB8\x8D\xE5\x90\x8C\xE7\x9A\x84\xE4\xBA\x8B\xE7\x89\xA9\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE5\x86\x8D\xE5\xA2\x9E\xE5\xA4\x9A\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE5\xB0\xB1\xE4\xBC\x9A\xE7\xB3\x8A\xE6\xB6\x82\xE4\xBA\x86\xE3\x80\x82\xE5\x8D\xB3\xE4\xBE\xBF\xE4\xBD\xA0\xE8\x81\xAA\xE9\xA2\x96\xE8\xBF\x87\xE4\xBA\xBA\xEF\xBC\x8C\xE4\xBD\xA0\xE4\xB9\x9F\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE8\xAE\xB0\xE4\xB8\x8D\xE6\xB8\x85\xE4\xBD\xA02 327\xE4\xB8\xAA\xE6\x98\x9F\xE6\x9C\x9F\xE5\x89\x8D\xE5\x81\x9A\xE8\xBF\x87\xE7\x9A\x84\xE4\xBA\x8B\xE6\x83\x85\xE3\x80\x82 328 329\xE5\x9C\xA8\xE6\xBA\x90\xE6\x96\x87\xE4\xBB\xB6\xE9\x87\x8C\xEF\xBC\x8C\xE4\xBD\xBF\xE7\x94\xA8\xE7\xA9\xBA\xE8\xA1\x8C\xE9\x9A\x94\xE5\xBC\x80\xE4\xB8\x8D\xE5\x90\x8C\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE8\xAF\xA5\xE5\x87\xBD\xE6\x95\xB0\xE9\x9C\x80\xE8\xA6\x81\xE8\xA2\xAB\xE5\xAF\xBC\xE5\x87\xBA\xEF\xBC\x8C\xE5\xAE\x83\xE7\x9A\x84EXPORT*\xE5\xAE\x8F\xE5\xBA\x94\xE8\xAF\xA5\xE7\xB4\xA7\xE8\xB4\xB4 330\xE5\x9C\xA8\xE5\xAE\x83\xE7\x9A\x84\xE7\xBB\x93\xE6\x9D\x9F\xE5\xA4\xA7\xE6\x8B\xAC\xE5\x8F\xB7\xE4\xB9\x8B\xE4\xB8\x8B\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x9A 331 332int system_is_up(void) 333{ 334 return system_state == SYSTEM_RUNNING; 335} 336EXPORT_SYMBOL(system_is_up); 337 338\xE5\x9C\xA8\xE5\x87\xBD\xE6\x95\xB0\xE5\x8E\x9F\xE5\x9E\x8B\xE4\xB8\xAD\xEF\xBC\x8C\xE5\x8C\x85\xE5\x90\xAB\xE5\x87\xBD\xE6\x95\xB0\xE5\x90\x8D\xE5\x92\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE6\x95\xB0\xE6\x8D\xAE\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82\xE8\x99\xBD\xE7\x84\xB6C\xE8\xAF\xAD\xE8\xA8\x80\xE9\x87\x8C\xE6\xB2\xA1\xE6\x9C\x89\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE8\xA6\x81\xE6\xB1\x82\xEF\xBC\x8C\xE5\x9C\xA8Linux\xE9\x87\x8C\xE8\xBF\x99 339\xE6\x98\xAF\xE6\x8F\x90\xE5\x80\xA1\xE7\x9A\x84\xE5\x81\x9A\xE6\xB3\x95\xEF\xBC\x8C\xE5\x9B\xA0\xE4\xB8\xBA\xE8\xBF\x99\xE6\xA0\xB7\xE5\x8F\xAF\xE4\xBB\xA5\xE5\xBE\x88\xE7\xAE\x80\xE5\x8D\x95\xE7\x9A\x84\xE7\xBB\x99\xE8\xAF\xBB\xE8\x80\x85\xE6\x8F\x90\xE4\xBE\x9B\xE6\x9B\xB4\xE5\xA4\x9A\xE7\x9A\x84\xE6\x9C\x89\xE4\xBB\xB7\xE5\x80\xBC\xE7\x9A\x84\xE4\xBF\xA1\xE6\x81\xAF\xE3\x80\x82 340 341 342 \xE7\xAC\xAC\xE4\xB8\x83\xE7\xAB\xA0\xEF\xBC\x9A\xE9\x9B\x86\xE4\xB8\xAD\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE9\x80\x80\xE5\x87\xBA\xE9\x80\x94\xE5\xBE\x84 343 344\xE8\x99\xBD\xE7\x84\xB6\xE8\xA2\xAB\xE6\x9F\x90\xE4\xBA\x9B\xE4\xBA\xBA\xE5\xA3\xB0\xE7\xA7\xB0\xE5\xB7\xB2\xE7\xBB\x8F\xE8\xBF\x87\xE6\x97\xB6\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAFgoto\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE7\xAD\x89\xE4\xBB\xB7\xE7\x89\xA9\xE8\xBF\x98\xE6\x98\xAF\xE7\xBB\x8F\xE5\xB8\xB8\xE8\xA2\xAB\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE6\x89\x80\xE4\xBD\xBF\xE7\x94\xA8\xEF\xBC\x8C\xE5\x85\xB7\xE4\xBD\x93\xE5\xBD\xA2\xE5\xBC\x8F\xE6\x98\xAF 345\xE6\x97\xA0\xE6\x9D\xA1\xE4\xBB\xB6\xE8\xB7\xB3\xE8\xBD\xAC\xE6\x8C\x87\xE4\xBB\xA4\xE3\x80\x82 346 347\xE5\xBD\x93\xE4\xB8\x80\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE4\xBB\x8E\xE5\xA4\x9A\xE4\xB8\xAA\xE4\xBD\x8D\xE7\xBD\xAE\xE9\x80\x80\xE5\x87\xBA\xE5\xB9\xB6\xE4\xB8\x94\xE9\x9C\x80\xE8\xA6\x81\xE5\x81\x9A\xE4\xB8\x80\xE4\xBA\x9B\xE9\x80\x9A\xE7\x94\xA8\xE7\x9A\x84\xE6\xB8\x85\xE7\x90\x86\xE5\xB7\xA5\xE4\xBD\x9C\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8Cgoto\xE7\x9A\x84\xE5\xA5\xBD\xE5\xA4\x84\xE5\xB0\xB1\xE6\x98\xBE\xE7\x8E\xB0\xE5\x87\xBA\xE6\x9D\xA5 348\xE4\xBA\x86\xE3\x80\x82 349 350\xE7\x90\x86\xE7\x94\xB1\xE6\x98\xAF\xEF\xBC\x9A 351 352- \xE6\x97\xA0\xE6\x9D\xA1\xE4\xBB\xB6\xE8\xAF\xAD\xE5\x8F\xA5\xE5\xAE\xB9\xE6\x98\x93\xE7\x90\x86\xE8\xA7\xA3\xE5\x92\x8C\xE8\xB7\x9F\xE8\xB8\xAA 353- \xE5\xB5\x8C\xE5\xA5\x97\xE7\xA8\x8B\xE5\xBA\xA6\xE5\x87\x8F\xE5\xB0\x8F 354- \xE5\x8F\xAF\xE4\xBB\xA5\xE9\x81\xBF\xE5\x85\x8D\xE7\x94\xB1\xE4\xBA\x8E\xE4\xBF\xAE\xE6\x94\xB9\xE6\x97\xB6\xE5\xBF\x98\xE8\xAE\xB0\xE6\x9B\xB4\xE6\x96\xB0\xE6\x9F\x90\xE4\xB8\xAA\xE5\x8D\x95\xE7\x8B\xAC\xE7\x9A\x84\xE9\x80\x80\xE5\x87\xBA\xE7\x82\xB9\xE8\x80\x8C\xE5\xAF\xBC\xE8\x87\xB4\xE7\x9A\x84\xE9\x94\x99\xE8\xAF\xAF 355- \xE5\x87\x8F\xE8\xBD\xBB\xE4\xBA\x86\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE7\x9A\x84\xE5\xB7\xA5\xE4\xBD\x9C\xEF\xBC\x8C\xE6\x97\xA0\xE9\x9C\x80\xE5\x88\xA0\xE9\x99\xA4\xE5\x86\x97\xE4\xBD\x99\xE4\xBB\xA3\xE7\xA0\x81;) 356 357int fun(int a) 358{ 359 int result = 0; 360 char *buffer = kmalloc(SIZE); 361 362 if (buffer == NULL) 363 return -ENOMEM; 364 365 if (condition1) { 366 while (loop1) { 367 ... 368 } 369 result = 1; 370 goto out; 371 } 372 ... 373out: 374 kfree(buffer); 375 return result; 376} 377 378 \xE7\xAC\xAC\xE5\x85\xAB\xE7\xAB\xA0\xEF\xBC\x9A\xE6\xB3\xA8\xE9\x87\x8A 379 380\xE6\xB3\xA8\xE9\x87\x8A\xE6\x98\xAF\xE5\xA5\xBD\xE7\x9A\x84\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE6\x9C\x89\xE8\xBF\x87\xE5\xBA\xA6\xE6\xB3\xA8\xE9\x87\x8A\xE7\x9A\x84\xE5\x8D\xB1\xE9\x99\xA9\xE3\x80\x82\xE6\xB0\xB8\xE8\xBF\x9C\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE6\xB3\xA8\xE9\x87\x8A\xE9\x87\x8C\xE8\xA7\xA3\xE9\x87\x8A\xE4\xBD\xA0\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE6\x98\xAF\xE5\xA6\x82\xE4\xBD\x95\xE8\xBF\x90\xE4\xBD\x9C\xE7\x9A\x84\xEF\xBC\x9A\xE6\x9B\xB4\xE5\xA5\xBD 381\xE7\x9A\x84\xE5\x81\x9A\xE6\xB3\x95\xE6\x98\xAF\xE8\xAE\xA9\xE5\x88\xAB\xE4\xBA\xBA\xE4\xB8\x80\xE7\x9C\x8B\xE4\xBD\xA0\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE5\xB0\xB1\xE5\x8F\xAF\xE4\xBB\xA5\xE6\x98\x8E\xE7\x99\xBD\xEF\xBC\x8C\xE8\xA7\xA3\xE9\x87\x8A\xE5\x86\x99\xE7\x9A\x84\xE5\xBE\x88\xE5\xB7\xAE\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE6\x98\xAF\xE6\xB5\xAA\xE8\xB4\xB9\xE6\x97\xB6\xE9\x97\xB4\xE3\x80\x82 382 383\xE4\xB8\x80\xE8\x88\xAC\xE7\x9A\x84\xEF\xBC\x8C\xE4\xBD\xA0\xE6\x83\xB3\xE8\xA6\x81\xE4\xBD\xA0\xE7\x9A\x84\xE6\xB3\xA8\xE9\x87\x8A\xE5\x91\x8A\xE8\xAF\x89\xE5\x88\xAB\xE4\xBA\xBA\xE4\xBD\xA0\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE5\x81\x9A\xE4\xBA\x86\xE4\xBB\x80\xE4\xB9\x88\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x8D\xE6\x98\xAF\xE6\x80\x8E\xE4\xB9\x88\xE5\x81\x9A\xE7\x9A\x84\xE3\x80\x82\xE4\xB9\x9F\xE8\xAF\xB7\xE4\xBD\xA0\xE4\xB8\x8D\xE8\xA6\x81\xE6\x8A\x8A\xE6\xB3\xA8\xE9\x87\x8A 384\xE6\x94\xBE\xE5\x9C\xA8\xE4\xB8\x80\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE4\xBD\x93\xE5\x86\x85\xE9\x83\xA8\xEF\xBC\x9A\xE5\xA6\x82\xE6\x9E\x9C\xE5\x87\xBD\xE6\x95\xB0\xE5\xA4\x8D\xE6\x9D\x82\xE5\x88\xB0\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x81\xE7\x8B\xAC\xE7\xAB\x8B\xE7\x9A\x84\xE6\xB3\xA8\xE9\x87\x8A\xE5\x85\xB6\xE4\xB8\xAD\xE7\x9A\x84\xE4\xB8\x80\xE9\x83\xA8\xE5\x88\x86\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBE\x88\xE5\x8F\xAF\xE8\x83\xBD\xE9\x9C\x80\xE8\xA6\x81\xE5\x9B\x9E\xE5\x88\xB0 385\xE7\xAC\xAC\xE5\x85\xAD\xE7\xAB\xA0\xE7\x9C\x8B\xE4\xB8\x80\xE7\x9C\x8B\xE3\x80\x82\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x81\x9A\xE4\xB8\x80\xE4\xBA\x9B\xE5\xB0\x8F\xE6\xB3\xA8\xE9\x87\x8A\xE6\x9D\xA5\xE6\xB3\xA8\xE6\x98\x8E\xE6\x88\x96\xE8\xAD\xA6\xE5\x91\x8A\xE6\x9F\x90\xE4\xBA\x9B\xE5\xBE\x88\xE8\x81\xAA\xE6\x98\x8E\xEF\xBC\x88\xE6\x88\x96\xE8\x80\x85\xE6\xA7\xBD\xE7\xB3\x95\xEF\xBC\x89\xE7\x9A\x84\xE5\x81\x9A\xE6\xB3\x95\xEF\xBC\x8C\xE4\xBD\x86\xE4\xB8\x8D\xE8\xA6\x81 386\xE5\x8A\xA0\xE5\xA4\xAA\xE5\xA4\x9A\xE3\x80\x82\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE5\x81\x9A\xE7\x9A\x84\xEF\xBC\x8C\xE6\x98\xAF\xE6\x8A\x8A\xE6\xB3\xA8\xE9\x87\x8A\xE6\x94\xBE\xE5\x9C\xA8\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\xA4\xB4\xE9\x83\xA8\xEF\xBC\x8C\xE5\x91\x8A\xE8\xAF\x89\xE4\xBA\xBA\xE4\xBB\xAC\xE5\xAE\x83\xE5\x81\x9A\xE4\xBA\x86\xE4\xBB\x80\xE4\xB9\x88\xEF\xBC\x8C\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x8A\xA0\xE4\xB8\x8A\xE5\xAE\x83\xE5\x81\x9A\xE8\xBF\x99 387\xE4\xBA\x9B\xE4\xBA\x8B\xE6\x83\x85\xE7\x9A\x84\xE5\x8E\x9F\xE5\x9B\xA0\xE3\x80\x82 388 389\xE5\xBD\x93\xE6\xB3\xA8\xE9\x87\x8A\xE5\x86\x85\xE6\xA0\xB8API\xE5\x87\xBD\xE6\x95\xB0\xE6\x97\xB6\xEF\xBC\x8C\xE8\xAF\xB7\xE4\xBD\xBF\xE7\x94\xA8kernel-doc\xE6\xA0\xBC\xE5\xBC\x8F\xE3\x80\x82\xE8\xAF\xB7\xE7\x9C\x8B 390Documentation/kernel-doc-nano-HOWTO.txt\xE5\x92\x8Cscripts/kernel-doc\xE4\xBB\xA5\xE8\x8E\xB7\xE5\xBE\x97\xE8\xAF\xA6\xE7\xBB\x86\xE4\xBF\xA1\xE6\x81\xAF\xE3\x80\x82 391 392Linux\xE7\x9A\x84\xE6\xB3\xA8\xE9\x87\x8A\xE9\xA3\x8E\xE6\xA0\xBC\xE6\x98\xAFC89\xE2\x80\x9C/* ... */\xE2\x80\x9D\xE9\xA3\x8E\xE6\xA0\xBC\xE3\x80\x82\xE4\xB8\x8D\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8C99\xE9\xA3\x8E\xE6\xA0\xBC\xE2\x80\x9C// ...\xE2\x80\x9D\xE6\xB3\xA8\xE9\x87\x8A\xE3\x80\x82 393 394\xE9\x95\xBF\xEF\xBC\x88\xE5\xA4\x9A\xE8\xA1\x8C\xEF\xBC\x89\xE7\x9A\x84\xE9\xA6\x96\xE9\x80\x89\xE6\xB3\xA8\xE9\x87\x8A\xE9\xA3\x8E\xE6\xA0\xBC\xE6\x98\xAF\xEF\xBC\x9A 395 396 /* 397 * This is the preferred style for multi-line 398 * comments in the Linux kernel source code. 399 * Please use it consistently. 400 * 401 * Description: A column of asterisks on the left side, 402 * with beginning and ending almost-blank lines. 403 */ 404 405\xE6\xB3\xA8\xE9\x87\x8A\xE6\x95\xB0\xE6\x8D\xAE\xE4\xB9\x9F\xE6\x98\xAF\xE5\xBE\x88\xE9\x87\x8D\xE8\xA6\x81\xE7\x9A\x84\xEF\xBC\x8C\xE4\xB8\x8D\xE7\xAE\xA1\xE6\x98\xAF\xE5\x9F\xBA\xE6\x9C\xAC\xE7\xB1\xBB\xE5\x9E\x8B\xE8\xBF\x98\xE6\x98\xAF\xE8\xA1\x8D\xE7\x94\x9F\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82\xE4\xB8\xBA\xE4\xBA\x86\xE6\x96\xB9\xE4\xBE\xBF\xE5\xAE\x9E\xE7\x8E\xB0\xE8\xBF\x99\xE4\xB8\x80\xE7\x82\xB9\xEF\xBC\x8C\xE6\xAF\x8F\xE4\xB8\x80\xE8\xA1\x8C\xE5\xBA\x94\xE5\x8F\xAA 406\xE5\xA3\xB0\xE6\x98\x8E\xE4\xB8\x80\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xEF\xBC\x88\xE4\xB8\x8D\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8\xE9\x80\x97\xE5\x8F\xB7\xE6\x9D\xA5\xE4\xB8\x80\xE6\xAC\xA1\xE5\xA3\xB0\xE6\x98\x8E\xE5\xA4\x9A\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xEF\xBC\x89\xE3\x80\x82\xE8\xBF\x99\xE6\xA0\xB7\xE4\xBD\xA0\xE5\xB0\xB1\xE6\x9C\x89\xE7\xA9\xBA\xE9\x97\xB4\xE6\x9D\xA5\xE4\xB8\xBA\xE6\xAF\x8F\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xE5\x86\x99\xE4\xB8\x80\xE6\xAE\xB5 407\xE5\xB0\x8F\xE6\xB3\xA8\xE9\x87\x8A\xE6\x9D\xA5\xE8\xA7\xA3\xE9\x87\x8A\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE7\x94\xA8\xE9\x80\x94\xE4\xBA\x86\xE3\x80\x82 408 409 410 \xE7\xAC\xAC\xE4\xB9\x9D\xE7\xAB\xA0\xEF\xBC\x9A\xE4\xBD\xA0\xE5\xB7\xB2\xE7\xBB\x8F\xE6\x8A\x8A\xE4\xBA\x8B\xE6\x83\x85\xE5\xBC\x84\xE7\xB3\x9F\xE4\xBA\x86 411 412\xE8\xBF\x99\xE6\xB2\xA1\xE4\xBB\x80\xE4\xB9\x88\xEF\xBC\x8C\xE6\x88\x91\xE4\xBB\xAC\xE9\x83\xBD\xE6\x98\xAF\xE8\xBF\x99\xE6\xA0\xB7\xE3\x80\x82\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBD\xA0\xE7\x9A\x84\xE4\xBD\xBF\xE7\x94\xA8\xE4\xBA\x86\xE5\xBE\x88\xE9\x95\xBF\xE6\x97\xB6\xE9\x97\xB4Unix\xE7\x9A\x84\xE6\x9C\x8B\xE5\x8F\x8B\xE5\xB7\xB2\xE7\xBB\x8F\xE5\x91\x8A\xE8\xAF\x89\xE4\xBD\xA0\xE2\x80\x9CGNU emacs\xE2\x80\x9D\xE8\x83\xBD 413\xE8\x87\xAA\xE5\x8A\xA8\xE5\xB8\xAE\xE4\xBD\xA0\xE6\xA0\xBC\xE5\xBC\x8F\xE5\x8C\x96C\xE6\xBA\x90\xE4\xBB\xA3\xE7\xA0\x81\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE4\xBD\xA0\xE4\xB9\x9F\xE6\xB3\xA8\xE6\x84\x8F\xE5\x88\xB0\xE4\xBA\x86\xEF\xBC\x8C\xE7\xA1\xAE\xE5\xAE\x9E\xE6\x98\xAF\xE8\xBF\x99\xE6\xA0\xB7\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\xAE\x83\xE6\x89\x80\xE4\xBD\xBF\xE7\x94\xA8\xE7\x9A\x84\xE9\xBB\x98\xE8\xAE\xA4\xE5\x80\xBC\xE5\x92\x8C\xE6\x88\x91\xE4\xBB\xAC 414\xE6\x83\xB3\xE8\xA6\x81\xE7\x9A\x84\xE7\x9B\xB8\xE5\x8E\xBB\xE7\x94\x9A\xE8\xBF\x9C\xEF\xBC\x88\xE5\xAE\x9E\xE9\x99\x85\xE4\xB8\x8A\xEF\xBC\x8C\xE7\x94\x9A\xE8\x87\xB3\xE6\xAF\x94\xE9\x9A\x8F\xE6\x9C\xBA\xE6\x89\x93\xE7\x9A\x84\xE8\xBF\x98\xE8\xA6\x81\xE5\xB7\xAE\xE2\x80\x94\xE2\x80\x94\xE6\x97\xA0\xE6\x95\xB0\xE4\xB8\xAA\xE7\x8C\xB4\xE5\xAD\x90\xE5\x9C\xA8GNU emacs\xE9\x87\x8C\xE6\x89\x93\xE5\xAD\x97\xE6\xB0\xB8\xE8\xBF\x9C\xE4\xB8\x8D 415\xE4\xBC\x9A\xE5\x88\x9B\xE9\x80\xA0\xE5\x87\xBA\xE4\xB8\x80\xE4\xB8\xAA\xE5\xA5\xBD\xE7\xA8\x8B\xE5\xBA\x8F\xEF\xBC\x89\xEF\xBC\x88\xE8\xAF\x91\xE6\xB3\xA8\xEF\xBC\x9A\xE8\xAF\xB7\xE5\x8F\x82\xE8\x80\x83Infinite Monkey Theorem\xEF\xBC\x89 416 417\xE6\x89\x80\xE4\xBB\xA5\xE4\xBD\xA0\xE8\xA6\x81\xE4\xB9\x88\xE6\x94\xBE\xE5\xBC\x83GNU emacs\xEF\xBC\x8C\xE8\xA6\x81\xE4\xB9\x88\xE6\x94\xB9\xE5\x8F\x98\xE5\xAE\x83\xE8\xAE\xA9\xE5\xAE\x83\xE4\xBD\xBF\xE7\x94\xA8\xE6\x9B\xB4\xE5\x90\x88\xE7\x90\x86\xE7\x9A\x84\xE8\xAE\xBE\xE5\xAE\x9A\xE3\x80\x82\xE8\xA6\x81\xE9\x87\x87\xE7\x94\xA8\xE5\x90\x8E\xE4\xB8\x80\xE4\xB8\xAA\xE6\x96\xB9\xE6\xA1\x88\xEF\xBC\x8C\xE4\xBD\xA0\xE5\x8F\xAF 418\xE4\xBB\xA5\xE6\x8A\x8A\xE4\xB8\x8B\xE9\x9D\xA2\xE8\xBF\x99\xE6\xAE\xB5\xE7\xB2\x98\xE8\xB4\xB4\xE5\x88\xB0\xE4\xBD\xA0\xE7\x9A\x84.emacs\xE6\x96\x87\xE4\xBB\xB6\xE9\x87\x8C\xE3\x80\x82 419 420(defun linux-c-mode () 421 "C mode with adjusted defaults for use with the Linux kernel." 422 (interactive) 423 (c-mode) 424 (c-set-style "K&R") 425 (setq tab-width 8) 426 (setq indent-tabs-mode t) 427 (setq c-basic-offset 8)) 428 429\xE8\xBF\x99\xE6\xA0\xB7\xE5\xB0\xB1\xE5\xAE\x9A\xE4\xB9\x89\xE4\xBA\x86M-x linux-c-mode\xE5\x91\xBD\xE4\xBB\xA4\xE3\x80\x82\xE5\xBD\x93\xE4\xBD\xA0hack\xE4\xB8\x80\xE4\xB8\xAA\xE6\xA8\xA1\xE5\x9D\x97\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE6\x8A\x8A\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2 430-*- linux-c -*-\xE6\x94\xBE\xE5\x9C\xA8\xE5\xA4\xB4\xE4\xB8\xA4\xE8\xA1\x8C\xE7\x9A\x84\xE6\x9F\x90\xE4\xB8\xAA\xE4\xBD\x8D\xE7\xBD\xAE\xEF\xBC\x8C\xE8\xBF\x99\xE4\xB8\xAA\xE6\xA8\xA1\xE5\xBC\x8F\xE5\xB0\x86\xE4\xBC\x9A\xE8\xA2\xAB\xE8\x87\xAA\xE5\x8A\xA8\xE8\xB0\x83\xE7\x94\xA8\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE5\xB8\x8C\xE6\x9C\x9B\xE5\x9C\xA8\xE4\xBD\xA0\xE4\xBF\xAE\xE6\x94\xB9 431/usr/src/linux\xE9\x87\x8C\xE7\x9A\x84\xE6\x96\x87\xE4\xBB\xB6\xE6\x97\xB6\xE9\xAD\x94\xE6\x9C\xAF\xE8\x88\xAC\xE8\x87\xAA\xE5\x8A\xA8\xE6\x89\x93\xE5\xBC\x80linux-c-mode\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE4\xBD\xA0\xE4\xB9\x9F\xE5\x8F\xAF\xE8\x83\xBD\xE9\x9C\x80\xE8\xA6\x81\xE6\xB7\xBB\xE5\x8A\xA0 432 433(setq auto-mode-alist (cons '("/usr/src/linux.*/.*\\.[ch]$" . linux-c-mode) 434 auto-mode-alist)) 435 436\xE5\x88\xB0\xE4\xBD\xA0\xE7\x9A\x84.emacs\xE6\x96\x87\xE4\xBB\xB6\xE9\x87\x8C\xE3\x80\x82 437 438\xE4\xB8\x8D\xE8\xBF\x87\xE5\xB0\xB1\xE7\xAE\x97\xE4\xBD\xA0\xE5\xB0\x9D\xE8\xAF\x95\xE8\xAE\xA9emacs\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84\xE6\xA0\xBC\xE5\xBC\x8F\xE5\x8C\x96\xE4\xBB\xA3\xE7\xA0\x81\xE5\xA4\xB1\xE8\xB4\xA5\xE4\xBA\x86\xEF\xBC\x8C\xE4\xB9\x9F\xE5\xB9\xB6\xE4\xB8\x8D\xE6\x84\x8F\xE5\x91\xB3\xE7\x9D\x80\xE4\xBD\xA0\xE5\xA4\xB1\xE5\x8E\xBB\xE4\xBA\x86\xE4\xB8\x80\xE5\x88\x87\xEF\xBC\x9A\xE8\xBF\x98\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x94\xA8\xE2\x80\x9C 439indent\xE2\x80\x9D\xE3\x80\x82 440 441\xE4\xB8\x8D\xE8\xBF\x87\xEF\xBC\x8CGNU indent\xE4\xB9\x9F\xE6\x9C\x89\xE5\x92\x8CGNU emacs\xE4\xB8\x80\xE6\xA0\xB7\xE6\x9C\x89\xE9\x97\xAE\xE9\xA2\x98\xE7\x9A\x84\xE8\xAE\xBE\xE5\xAE\x9A\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x81\xE7\xBB\x99\xE5\xAE\x83\xE4\xB8\x80\xE4\xBA\x9B\xE5\x91\xBD\xE4\xBB\xA4\xE9\x80\x89\xE9\xA1\xB9\xE3\x80\x82\xE4\xB8\x8D 442\xE8\xBF\x87\xEF\xBC\x8C\xE8\xBF\x99\xE8\xBF\x98\xE4\xB8\x8D\xE7\xAE\x97\xE5\xA4\xAA\xE7\xB3\x9F\xE7\xB3\x95\xEF\xBC\x8C\xE5\x9B\xA0\xE4\xB8\xBA\xE5\xB0\xB1\xE7\xAE\x97\xE6\x98\xAFGNU indent\xE7\x9A\x84\xE4\xBD\x9C\xE8\x80\x85\xE4\xB9\x9F\xE8\xAE\xA4\xE5\x90\x8CK&R\xE7\x9A\x84\xE6\x9D\x83\xE5\xA8\x81\xE6\x80\xA7\xEF\xBC\x88GNU\xE7\x9A\x84\xE4\xBA\xBA\xE5\xB9\xB6\xE4\xB8\x8D\xE6\x98\xAF\xE5\x9D\x8F 443\xE4\xBA\xBA\xEF\xBC\x8C\xE4\xBB\x96\xE4\xBB\xAC\xE5\x8F\xAA\xE6\x98\xAF\xE5\x9C\xA8\xE8\xBF\x99\xE4\xB8\xAA\xE9\x97\xAE\xE9\xA2\x98\xE4\xB8\x8A\xE8\xA2\xAB\xE4\xB8\xA5\xE9\x87\x8D\xE7\x9A\x84\xE8\xAF\xAF\xE5\xAF\xBC\xE4\xBA\x86\xEF\xBC\x89\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xE4\xBD\xA0\xE5\x8F\xAA\xE8\xA6\x81\xE7\xBB\x99indent\xE6\x8C\x87\xE5\xAE\x9A\xE9\x80\x89\xE9\xA1\xB9\xE2\x80\x9C-kr -i8\xE2\x80\x9D 444\xEF\xBC\x88\xE4\xBB\xA3\xE8\xA1\xA8\xE2\x80\x9CK&R\xEF\xBC\x8C8\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE7\xBC\xA9\xE8\xBF\x9B\xE2\x80\x9D\xEF\xBC\x89\xEF\xBC\x8C\xE6\x88\x96\xE8\x80\x85\xE4\xBD\xBF\xE7\x94\xA8\xE2\x80\x9Cscripts/Lindent\xE2\x80\x9D\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE5\xB0\xB1\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBB\xA5\xE6\x9C\x80\xE6\x97\xB6\xE9\xAB\xA6\xE7\x9A\x84\xE6\x96\xB9\xE5\xBC\x8F 445\xE7\xBC\xA9\xE8\xBF\x9B\xE6\xBA\x90\xE4\xBB\xA3\xE7\xA0\x81\xE3\x80\x82 446 447\xE2\x80\x9Cindent\xE2\x80\x9D\xE6\x9C\x89\xE5\xBE\x88\xE5\xA4\x9A\xE9\x80\x89\xE9\xA1\xB9\xEF\xBC\x8C\xE7\x89\xB9\xE5\x88\xAB\xE6\x98\xAF\xE9\x87\x8D\xE6\x96\xB0\xE6\xA0\xBC\xE5\xBC\x8F\xE5\x8C\x96\xE6\xB3\xA8\xE9\x87\x8A\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8C\xE4\xBD\xA0\xE5\x8F\xAF\xE8\x83\xBD\xE9\x9C\x80\xE8\xA6\x81\xE7\x9C\x8B\xE4\xB8\x80\xE4\xB8\x8B\xE5\xAE\x83\xE7\x9A\x84\xE6\x89\x8B\xE5\x86\x8C\xE9\xA1\xB5\xE3\x80\x82\xE4\xB8\x8D\xE8\xBF\x87 448\xE8\xAE\xB0\xE4\xBD\x8F\xEF\xBC\x9A\xE2\x80\x9Cindent\xE2\x80\x9D\xE4\xB8\x8D\xE8\x83\xBD\xE4\xBF\xAE\xE6\xAD\xA3\xE5\x9D\x8F\xE7\x9A\x84\xE7\xBC\x96\xE7\xA8\x8B\xE4\xB9\xA0\xE6\x83\xAF\xE3\x80\x82 449 450 451 \xE7\xAC\xAC\xE5\x8D\x81\xE7\xAB\xA0\xEF\xBC\x9AKconfig\xE9\x85\x8D\xE7\xBD\xAE\xE6\x96\x87\xE4\xBB\xB6 452 453\xE5\xAF\xB9\xE4\xBA\x8E\xE9\x81\x8D\xE5\xB8\x83\xE6\xBA\x90\xE7\xA0\x81\xE6\xA0\x91\xE7\x9A\x84\xE6\x89\x80\xE6\x9C\x89Kconfig*\xE9\x85\x8D\xE7\xBD\xAE\xE6\x96\x87\xE4\xBB\xB6\xE6\x9D\xA5\xE8\xAF\xB4\xEF\xBC\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE7\xBC\xA9\xE8\xBF\x9B\xE6\x96\xB9\xE5\xBC\x8F\xE4\xB8\x8EC\xE4\xBB\xA3\xE7\xA0\x81\xE7\x9B\xB8\xE6\xAF\x94\xE6\x9C\x89\xE6\x89\x80\xE4\xB8\x8D\xE5\x90\x8C\xE3\x80\x82\xE7\xB4\xA7\xE6\x8C\xA8 454\xE5\x9C\xA8\xE2\x80\x9Cconfig\xE2\x80\x9D\xE5\xAE\x9A\xE4\xB9\x89\xE4\xB8\x8B\xE9\x9D\xA2\xE7\x9A\x84\xE8\xA1\x8C\xE7\xBC\xA9\xE8\xBF\x9B\xE4\xB8\x80\xE4\xB8\xAA\xE5\x88\xB6\xE8\xA1\xA8\xE7\xAC\xA6\xEF\xBC\x8C\xE5\xB8\xAE\xE5\x8A\xA9\xE4\xBF\xA1\xE6\x81\xAF\xE5\x88\x99\xE5\x86\x8D\xE5\xA4\x9A\xE7\xBC\xA9\xE8\xBF\x9B2\xE4\xB8\xAA\xE7\xA9\xBA\xE6\xA0\xBC\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x9A 455 456config AUDIT 457 bool "Auditing support" 458 depends on NET 459 help 460 Enable auditing infrastructure that can be used with another 461 kernel subsystem, such as SELinux (which requires this for 462 logging of avc messages output). Does not do system-call 463 auditing without CONFIG_AUDITSYSCALL. 464 465\xE4\xBB\x8D\xE7\x84\xB6\xE8\xA2\xAB\xE8\xAE\xA4\xE4\xB8\xBA\xE4\xB8\x8D\xE5\xA4\x9F\xE7\xA8\xB3\xE5\xAE\x9A\xE7\x9A\x84\xE5\x8A\x9F\xE8\x83\xBD\xE5\xBA\x94\xE8\xAF\xA5\xE8\xA2\xAB\xE5\xAE\x9A\xE4\xB9\x89\xE4\xB8\xBA\xE4\xBE\x9D\xE8\xB5\x96\xE4\xBA\x8E\xE2\x80\x9CEXPERIMENTAL\xE2\x80\x9D\xEF\xBC\x9A 466 467config SLUB 468 depends on EXPERIMENTAL && !ARCH_USES_SLAB_PAGE_STRUCT 469 bool "SLUB (Unqueued Allocator)" 470 ... 471 472\xE8\x80\x8C\xE9\x82\xA3\xE4\xBA\x9B\xE5\x8D\xB1\xE9\x99\xA9\xE7\x9A\x84\xE5\x8A\x9F\xE8\x83\xBD\xEF\xBC\x88\xE6\xAF\x94\xE5\xA6\x82\xE6\x9F\x90\xE4\xBA\x9B\xE6\x96\x87\xE4\xBB\xB6\xE7\xB3\xBB\xE7\xBB\x9F\xE7\x9A\x84\xE5\x86\x99\xE6\x94\xAF\xE6\x8C\x81\xEF\xBC\x89\xE5\xBA\x94\xE8\xAF\xA5\xE5\x9C\xA8\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE6\x8F\x90\xE7\xA4\xBA\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2\xE9\x87\x8C\xE6\x98\xBE\xE8\x91\x97\xE7\x9A\x84\xE5\xA3\xB0\xE6\x98\x8E\xE8\xBF\x99 473\xE4\xB8\x80\xE7\x82\xB9\xEF\xBC\x9A 474 475config ADFS_FS_RW 476 bool "ADFS write support (DANGEROUS)" 477 depends on ADFS_FS 478 ... 479 480\xE8\xA6\x81\xE6\x9F\xA5\xE7\x9C\x8B\xE9\x85\x8D\xE7\xBD\xAE\xE6\x96\x87\xE4\xBB\xB6\xE7\x9A\x84\xE5\xAE\x8C\xE6\x95\xB4\xE6\x96\x87\xE6\xA1\xA3\xEF\xBC\x8C\xE8\xAF\xB7\xE7\x9C\x8BDocumentation/kbuild/kconfig-language.txt\xE3\x80\x82 481 482 483 \xE7\xAC\xAC\xE5\x8D\x81\xE4\xB8\x80\xE7\xAB\xA0\xEF\xBC\x9A\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84 484 485\xE5\xA6\x82\xE6\x9E\x9C\xE4\xB8\x80\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xEF\xBC\x8C\xE5\x9C\xA8\xE5\x88\x9B\xE5\xBB\xBA\xE5\x92\x8C\xE9\x94\x80\xE6\xAF\x81\xE5\xAE\x83\xE7\x9A\x84\xE5\x8D\x95\xE7\xBA\xBF\xE6\x89\xA7\xE8\xA1\x8C\xE7\x8E\xAF\xE5\xA2\x83\xE4\xB9\x8B\xE5\xA4\x96\xE5\x8F\xAF\xE8\xA7\x81\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE5\xAE\x83\xE5\xBF\x85\xE9\xA1\xBB\xE8\xA6\x81\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1 486\xE6\x95\xB0\xE5\x99\xA8\xE3\x80\x82\xE5\x86\x85\xE6\xA0\xB8\xE9\x87\x8C\xE6\xB2\xA1\xE6\x9C\x89\xE5\x9E\x83\xE5\x9C\xBE\xE6\x94\xB6\xE9\x9B\x86\xEF\xBC\x88\xE5\xB9\xB6\xE4\xB8\x94\xE5\x86\x85\xE6\xA0\xB8\xE4\xB9\x8B\xE5\xA4\x96\xE7\x9A\x84\xE5\x9E\x83\xE5\x9C\xBE\xE6\x94\xB6\xE9\x9B\x86\xE6\x85\xA2\xE4\xB8\x94\xE6\x95\x88\xE7\x8E\x87\xE4\xBD\x8E\xE4\xB8\x8B\xEF\xBC\x89\xEF\xBC\x8C\xE8\xBF\x99\xE6\x84\x8F\xE5\x91\xB3\xE7\x9D\x80\xE4\xBD\xA0\xE7\xBB\x9D\xE5\xAF\xB9\xE9\x9C\x80 487\xE8\xA6\x81\xE8\xAE\xB0\xE5\xBD\x95\xE4\xBD\xA0\xE5\xAF\xB9\xE8\xBF\x99\xE7\xA7\x8D\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE7\x9A\x84\xE4\xBD\xBF\xE7\x94\xA8\xE6\x83\x85\xE5\x86\xB5\xE3\x80\x82 488 489\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xE6\x84\x8F\xE5\x91\xB3\xE7\x9D\x80\xE4\xBD\xA0\xE8\x83\xBD\xE5\xA4\x9F\xE9\x81\xBF\xE5\x85\x8D\xE4\xB8\x8A\xE9\x94\x81\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xE5\x85\x81\xE8\xAE\xB8\xE5\xA4\x9A\xE4\xB8\xAA\xE7\x94\xA8\xE6\x88\xB7\xE5\xB9\xB6\xE8\xA1\x8C\xE8\xAE\xBF\xE9\x97\xAE\xE8\xBF\x99\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE2\x80\x94\xE2\x80\x94\xE8\x80\x8C\xE4\xB8\x8D\xE9\x9C\x80\xE8\xA6\x81\xE6\x8B\x85\xE5\xBF\x83 490\xE8\xBF\x99\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE4\xBB\x85\xE4\xBB\x85\xE5\x9B\xA0\xE4\xB8\xBA\xE6\x9A\x82\xE6\x97\xB6\xE4\xB8\x8D\xE8\xA2\xAB\xE4\xBD\xBF\xE7\x94\xA8\xE5\xB0\xB1\xE6\xB6\x88\xE5\xA4\xB1\xE4\xBA\x86\xEF\xBC\x8C\xE9\x82\xA3\xE4\xBA\x9B\xE7\x94\xA8\xE6\x88\xB7\xE5\x8F\xAF\xE8\x83\xBD\xE4\xB8\x8D\xE8\xBF\x87\xE6\x98\xAF\xE6\xB2\x89\xE7\x9D\xA1\xE4\xBA\x86\xE4\xB8\x80\xE9\x98\xB5\xE6\x88\x96\xE8\x80\x85\xE5\x81\x9A\xE4\xBA\x86\xE4\xB8\x80 491\xE4\xBA\x9B\xE5\x85\xB6\xE4\xBB\x96\xE4\xBA\x8B\xE6\x83\x85\xE8\x80\x8C\xE5\xB7\xB2\xE3\x80\x82 492 493\xE6\xB3\xA8\xE6\x84\x8F\xE4\xB8\x8A\xE9\x94\x81\xE4\xB8\x8D\xE8\x83\xBD\xE5\x8F\x96\xE4\xBB\xA3\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xE3\x80\x82\xE4\xB8\x8A\xE9\x94\x81\xE6\x98\xAF\xE4\xB8\xBA\xE4\xBA\x86\xE4\xBF\x9D\xE6\x8C\x81\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE7\x9A\x84\xE4\xB8\x80\xE8\x87\xB4\xE6\x80\xA7\xEF\xBC\x8C\xE8\x80\x8C\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x86\x85\xE5\xAD\x98\xE7\xAE\xA1 494\xE7\x90\x86\xE6\x8A\x80\xE5\xB7\xA7\xE3\x80\x82\xE9\x80\x9A\xE5\xB8\xB8\xE4\xBA\x8C\xE8\x80\x85\xE9\x83\xBD\xE9\x9C\x80\xE8\xA6\x81\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xA6\x81\xE6\x8A\x8A\xE4\xB8\xA4\xE4\xB8\xAA\xE6\x90\x9E\xE6\xB7\xB7\xE4\xBA\x86\xE3\x80\x82 495 496\xE5\xBE\x88\xE5\xA4\x9A\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE5\xAE\x9E\xE9\x99\x85\xE4\xB8\x8A\xE6\x9C\x892\xE7\xBA\xA7\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xEF\xBC\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE9\x80\x9A\xE5\xB8\xB8\xE6\x9C\x89\xE4\xB8\x8D\xE5\x90\x8C\xE2\x80\x9C\xE7\xB1\xBB\xE2\x80\x9D\xE7\x9A\x84\xE7\x94\xA8\xE6\x88\xB7\xE3\x80\x82\xE5\xAD\x90\xE7\xB1\xBB\xE8\xAE\xA1\xE6\x95\xB0\xE5\x99\xA8\xE7\xBB\x9F\xE8\xAE\xA1\xE5\xAD\x90\xE7\xB1\xBB\xE7\x94\xA8 497\xE6\x88\xB7\xE7\x9A\x84\xE6\x95\xB0\xE9\x87\x8F\xEF\xBC\x8C\xE6\xAF\x8F\xE5\xBD\x93\xE5\xAD\x90\xE7\xB1\xBB\xE8\xAE\xA1\xE6\x95\xB0\xE5\x99\xA8\xE5\x87\x8F\xE8\x87\xB3\xE9\x9B\xB6\xE6\x97\xB6\xEF\xBC\x8C\xE5\x85\xA8\xE5\xB1\x80\xE8\xAE\xA1\xE6\x95\xB0\xE5\x99\xA8\xE5\x87\x8F\xE4\xB8\x80\xE3\x80\x82 498 499\xE8\xBF\x99\xE7\xA7\x8D\xE2\x80\x9C\xE5\xA4\x9A\xE7\xBA\xA7\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xE2\x80\x9D\xE7\x9A\x84\xE4\xBE\x8B\xE5\xAD\x90\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x9C\xA8\xE5\x86\x85\xE5\xAD\x98\xE7\xAE\xA1\xE7\x90\x86\xEF\xBC\x88\xE2\x80\x9Cstruct mm_struct\xE2\x80\x9D\xEF\xBC\x9Amm_users\xE5\x92\x8Cmm_count\xEF\xBC\x89 500\xE5\x92\x8C\xE6\x96\x87\xE4\xBB\xB6\xE7\xB3\xBB\xE7\xBB\x9F\xEF\xBC\x88\xE2\x80\x9Cstruct super_block\xE2\x80\x9D\xEF\xBC\x9As_count\xE5\x92\x8Cs_active\xEF\xBC\x89\xE4\xB8\xAD\xE6\x89\xBE\xE5\x88\xB0\xE3\x80\x82 501 502\xE8\xAE\xB0\xE4\xBD\x8F\xEF\xBC\x9A\xE5\xA6\x82\xE6\x9E\x9C\xE5\x8F\xA6\xE4\xB8\x80\xE4\xB8\xAA\xE6\x89\xA7\xE8\xA1\x8C\xE7\xBA\xBF\xE7\xB4\xA2\xE5\x8F\xAF\xE4\xBB\xA5\xE6\x89\xBE\xE5\x88\xB0\xE4\xBD\xA0\xE7\x9A\x84\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAF\xE8\xBF\x99\xE4\xB8\xAA\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBB\x93\xE6\x9E\x84\xE6\xB2\xA1\xE6\x9C\x89\xE5\xBC\x95\xE7\x94\xA8\xE8\xAE\xA1\xE6\x95\xB0\xE5\x99\xA8\xEF\xBC\x8C\xE8\xBF\x99 503\xE9\x87\x8C\xE5\x87\xA0\xE4\xB9\x8E\xE8\x82\xAF\xE5\xAE\x9A\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAAbug\xE3\x80\x82 504 505 506 \xE7\xAC\xAC\xE5\x8D\x81\xE4\xBA\x8C\xE7\xAB\xA0\xEF\xBC\x9A\xE5\xAE\x8F\xEF\xBC\x8C\xE6\x9E\x9A\xE4\xB8\xBE\xE5\x92\x8CRTL 507 508\xE7\x94\xA8\xE4\xBA\x8E\xE5\xAE\x9A\xE4\xB9\x89\xE5\xB8\xB8\xE9\x87\x8F\xE7\x9A\x84\xE5\xAE\x8F\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE5\x8F\x8A\xE6\x9E\x9A\xE4\xB8\xBE\xE9\x87\x8C\xE7\x9A\x84\xE6\xA0\x87\xE7\xAD\xBE\xE9\x9C\x80\xE8\xA6\x81\xE5\xA4\xA7\xE5\x86\x99\xE3\x80\x82 509 510#define CONSTANT 0x12345 511 512\xE5\x9C\xA8\xE5\xAE\x9A\xE4\xB9\x89\xE5\x87\xA0\xE4\xB8\xAA\xE7\x9B\xB8\xE5\x85\xB3\xE7\x9A\x84\xE5\xB8\xB8\xE9\x87\x8F\xE6\x97\xB6\xEF\xBC\x8C\xE6\x9C\x80\xE5\xA5\xBD\xE7\x94\xA8\xE6\x9E\x9A\xE4\xB8\xBE\xE3\x80\x82 513 514\xE5\xAE\x8F\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE8\xAF\xB7\xE7\x94\xA8\xE5\xA4\xA7\xE5\x86\x99\xE5\xAD\x97\xE6\xAF\x8D\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\xBD\xA2\xE5\xA6\x82\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\xAE\x8F\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x94\xA8\xE5\xB0\x8F\xE5\x86\x99\xE5\xAD\x97\xE6\xAF\x8D\xE3\x80\x82 515 516\xE4\xB8\x80\xE8\x88\xAC\xE7\x9A\x84\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE8\x83\xBD\xE5\x86\x99\xE6\x88\x90\xE5\x86\x85\xE8\x81\x94\xE5\x87\xBD\xE6\x95\xB0\xE5\xB0\xB1\xE4\xB8\x8D\xE8\xA6\x81\xE5\x86\x99\xE6\x88\x90\xE5\x83\x8F\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\xAE\x8F\xE3\x80\x82 517 518\xE5\x90\xAB\xE6\x9C\x89\xE5\xA4\x9A\xE4\xB8\xAA\xE8\xAF\xAD\xE5\x8F\xA5\xE7\x9A\x84\xE5\xAE\x8F\xE5\xBA\x94\xE8\xAF\xA5\xE8\xA2\xAB\xE5\x8C\x85\xE5\x90\xAB\xE5\x9C\xA8\xE4\xB8\x80\xE4\xB8\xAAdo-while\xE4\xBB\xA3\xE7\xA0\x81\xE5\x9D\x97\xE9\x87\x8C\xEF\xBC\x9A 519 520#define macrofun(a, b, c) \ 521 do { \ 522 if (a == 5) \ 523 do_this(b, c); \ 524 } while (0) 525 526\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x8F\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xE5\xBA\x94\xE9\x81\xBF\xE5\x85\x8D\xE7\x9A\x84\xE4\xBA\x8B\xE6\x83\x85\xEF\xBC\x9A 527 5281) \xE5\xBD\xB1\xE5\x93\x8D\xE6\x8E\xA7\xE5\x88\xB6\xE6\xB5\x81\xE7\xA8\x8B\xE7\x9A\x84\xE5\xAE\x8F\xEF\xBC\x9A 529 530#define FOO(x) \ 531 do { \ 532 if (blah(x) < 0) \ 533 return -EBUGGERED; \ 534 } while(0) 535 536\xE9\x9D\x9E\xE5\xB8\xB8\xE4\xB8\x8D\xE5\xA5\xBD\xE3\x80\x82\xE5\xAE\x83\xE7\x9C\x8B\xE8\xB5\xB7\xE6\x9D\xA5\xE5\x83\x8F\xE4\xB8\x80\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\x8D\xB4\xE8\x83\xBD\xE5\xAF\xBC\xE8\x87\xB4\xE2\x80\x9C\xE8\xB0\x83\xE7\x94\xA8\xE2\x80\x9D\xE5\xAE\x83\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE9\x80\x80\xE5\x87\xBA\xEF\xBC\x9B\xE4\xB8\x8D\xE8\xA6\x81\xE6\x89\x93\xE4\xB9\xB1\xE8\xAF\xBB\xE8\x80\x85\xE5\xA4\xA7\xE8\x84\x91\xE9\x87\x8C 537\xE7\x9A\x84\xE8\xAF\xAD\xE6\xB3\x95\xE5\x88\x86\xE6\x9E\x90\xE5\x99\xA8\xE3\x80\x82 538 5392) \xE4\xBE\x9D\xE8\xB5\x96\xE4\xBA\x8E\xE4\xB8\x80\xE4\xB8\xAA\xE5\x9B\xBA\xE5\xAE\x9A\xE5\x90\x8D\xE5\xAD\x97\xE7\x9A\x84\xE6\x9C\xAC\xE5\x9C\xB0\xE5\x8F\x98\xE9\x87\x8F\xE7\x9A\x84\xE5\xAE\x8F\xEF\xBC\x9A 540 541#define FOO(val) bar(index, val) 542 543\xE5\x8F\xAF\xE8\x83\xBD\xE7\x9C\x8B\xE8\xB5\xB7\xE6\x9D\xA5\xE5\x83\x8F\xE6\x98\xAF\xE4\xB8\xAA\xE4\xB8\x8D\xE9\x94\x99\xE7\x9A\x84\xE4\xB8\x9C\xE8\xA5\xBF\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\xAE\x83\xE9\x9D\x9E\xE5\xB8\xB8\xE5\xAE\xB9\xE6\x98\x93\xE6\x8A\x8A\xE8\xAF\xBB\xE4\xBB\xA3\xE7\xA0\x81\xE7\x9A\x84\xE4\xBA\xBA\xE6\x90\x9E\xE7\xB3\x8A\xE6\xB6\x82\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE5\xAE\xB9\xE6\x98\x93\xE5\xAF\xBC\xE8\x87\xB4\xE7\x9C\x8B\xE8\xB5\xB7\xE6\x9D\xA5 544\xE4\xB8\x8D\xE7\x9B\xB8\xE5\x85\xB3\xE7\x9A\x84\xE6\x94\xB9\xE5\x8A\xA8\xE5\xB8\xA6\xE6\x9D\xA5\xE9\x94\x99\xE8\xAF\xAF\xE3\x80\x82 545 5463) \xE4\xBD\x9C\xE4\xB8\xBA\xE5\xB7\xA6\xE5\x80\xBC\xE7\x9A\x84\xE5\xB8\xA6\xE5\x8F\x82\xE6\x95\xB0\xE7\x9A\x84\xE5\xAE\x8F\xEF\xBC\x9A FOO(x) = y\xEF\xBC\x9B\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\x89\xE4\xBA\xBA\xE6\x8A\x8AFOO\xE5\x8F\x98\xE6\x88\x90\xE4\xB8\x80\xE4\xB8\xAA\xE5\x86\x85\xE8\x81\x94\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE8\xBF\x99\xE7\xA7\x8D\xE7\x94\xA8 547\xE6\xB3\x95\xE5\xB0\xB1\xE4\xBC\x9A\xE5\x87\xBA\xE9\x94\x99\xE4\xBA\x86\xE3\x80\x82 548 5494) \xE5\xBF\x98\xE8\xAE\xB0\xE4\xBA\x86\xE4\xBC\x98\xE5\x85\x88\xE7\xBA\xA7\xEF\xBC\x9A\xE4\xBD\xBF\xE7\x94\xA8\xE8\xA1\xA8\xE8\xBE\xBE\xE5\xBC\x8F\xE5\xAE\x9A\xE4\xB9\x89\xE5\xB8\xB8\xE9\x87\x8F\xE7\x9A\x84\xE5\xAE\x8F\xE5\xBF\x85\xE9\xA1\xBB\xE5\xB0\x86\xE8\xA1\xA8\xE8\xBE\xBE\xE5\xBC\x8F\xE7\xBD\xAE\xE4\xBA\x8E\xE4\xB8\x80\xE5\xAF\xB9\xE5\xB0\x8F\xE6\x8B\xAC\xE5\x8F\xB7\xE4\xB9\x8B\xE5\x86\x85\xE3\x80\x82\xE5\xB8\xA6\xE5\x8F\x82\xE6\x95\xB0\xE7\x9A\x84 550\xE5\xAE\x8F\xE4\xB9\x9F\xE8\xA6\x81\xE6\xB3\xA8\xE6\x84\x8F\xE6\xAD\xA4\xE7\xB1\xBB\xE9\x97\xAE\xE9\xA2\x98\xE3\x80\x82 551 552#define CONSTANT 0x4000 553#define CONSTEXP (CONSTANT | 3) 554 555cpp\xE6\x89\x8B\xE5\x86\x8C\xE5\xAF\xB9\xE5\xAE\x8F\xE7\x9A\x84\xE8\xAE\xB2\xE8\xA7\xA3\xE5\xBE\x88\xE8\xAF\xA6\xE7\xBB\x86\xE3\x80\x82Gcc internals\xE6\x89\x8B\xE5\x86\x8C\xE4\xB9\x9F\xE8\xAF\xA6\xE7\xBB\x86\xE8\xAE\xB2\xE8\xA7\xA3\xE4\xBA\x86RTL\xEF\xBC\x88\xE8\xAF\x91\xE6\xB3\xA8\xEF\xBC\x9Aregister 556transfer language\xEF\xBC\x89\xEF\xBC\x8C\xE5\x86\x85\xE6\xA0\xB8\xE9\x87\x8C\xE7\x9A\x84\xE6\xB1\x87\xE7\xBC\x96\xE8\xAF\xAD\xE8\xA8\x80\xE7\xBB\x8F\xE5\xB8\xB8\xE7\x94\xA8\xE5\x88\xB0\xE5\xAE\x83\xE3\x80\x82 557 558 559 \xE7\xAC\xAC\xE5\x8D\x81\xE4\xB8\x89\xE7\xAB\xA0\xEF\xBC\x9A\xE6\x89\x93\xE5\x8D\xB0\xE5\x86\x85\xE6\xA0\xB8\xE6\xB6\x88\xE6\x81\xAF 560 561\xE5\x86\x85\xE6\xA0\xB8\xE5\xBC\x80\xE5\x8F\x91\xE8\x80\x85\xE5\xBA\x94\xE8\xAF\xA5\xE6\x98\xAF\xE5\x8F\x97\xE8\xBF\x87\xE8\x89\xAF\xE5\xA5\xBD\xE6\x95\x99\xE8\x82\xB2\xE7\x9A\x84\xE3\x80\x82\xE8\xAF\xB7\xE4\xB8\x80\xE5\xAE\x9A\xE6\xB3\xA8\xE6\x84\x8F\xE5\x86\x85\xE6\xA0\xB8\xE4\xBF\xA1\xE6\x81\xAF\xE7\x9A\x84\xE6\x8B\xBC\xE5\x86\x99\xEF\xBC\x8C\xE4\xBB\xA5\xE7\xBB\x99\xE4\xBA\xBA\xE4\xBB\xA5\xE5\xA5\xBD\xE7\x9A\x84\xE5\x8D\xB0\xE8\xB1\xA1\xE3\x80\x82\xE4\xB8\x8D\xE8\xA6\x81 562\xE7\x94\xA8\xE4\xB8\x8D\xE8\xA7\x84\xE8\x8C\x83\xE7\x9A\x84\xE5\x8D\x95\xE8\xAF\x8D\xE6\xAF\x94\xE5\xA6\x82\xE2\x80\x9Cdont\xE2\x80\x9D\xEF\xBC\x8C\xE8\x80\x8C\xE8\xA6\x81\xE7\x94\xA8\xE2\x80\x9Cdo not\xE2\x80\x9D\xE6\x88\x96\xE8\x80\x85\xE2\x80\x9Cdon't\xE2\x80\x9D\xE3\x80\x82\xE4\xBF\x9D\xE8\xAF\x81\xE8\xBF\x99\xE4\xBA\x9B\xE4\xBF\xA1\xE6\x81\xAF\xE7\xAE\x80\xE5\x8D\x95\xE3\x80\x81\xE6\x98\x8E\xE4\xBA\x86\xE3\x80\x81\xE6\x97\xA0 563\xE6\xAD\xA7\xE4\xB9\x89\xE3\x80\x82 564 565\xE5\x86\x85\xE6\xA0\xB8\xE4\xBF\xA1\xE6\x81\xAF\xE4\xB8\x8D\xE5\xBF\x85\xE4\xBB\xA5\xE5\x8F\xA5\xE5\x8F\xB7\xEF\xBC\x88\xE8\xAF\x91\xE6\xB3\xA8\xEF\xBC\x9A\xE8\x8B\xB1\xE6\x96\x87\xE5\x8F\xA5\xE5\x8F\xB7\xEF\xBC\x8C\xE5\x8D\xB3\xE7\x82\xB9\xEF\xBC\x89\xE7\xBB\x93\xE6\x9D\x9F\xE3\x80\x82 566 567\xE5\x9C\xA8\xE5\xB0\x8F\xE6\x8B\xAC\xE5\x8F\xB7\xE9\x87\x8C\xE6\x89\x93\xE5\x8D\xB0\xE6\x95\xB0\xE5\xAD\x97(%d)\xE6\xB2\xA1\xE6\x9C\x89\xE4\xBB\xBB\xE4\xBD\x95\xE4\xBB\xB7\xE5\x80\xBC\xEF\xBC\x8C\xE5\xBA\x94\xE8\xAF\xA5\xE9\x81\xBF\xE5\x85\x8D\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xE3\x80\x82 568 569<linux/device.h>\xE9\x87\x8C\xE6\x9C\x89\xE4\xB8\x80\xE4\xBA\x9B\xE9\xA9\xB1\xE5\x8A\xA8\xE6\xA8\xA1\xE5\x9E\x8B\xE8\xAF\x8A\xE6\x96\xAD\xE5\xAE\x8F\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x83\xE4\xBB\xAC\xEF\xBC\x8C\xE4\xBB\xA5\xE7\xA1\xAE\xE4\xBF\x9D\xE4\xBF\xA1\xE6\x81\xAF\xE5\xAF\xB9\xE5\xBA\x94\xE4\xBA\x8E\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84 570\xE8\xAE\xBE\xE5\xA4\x87\xE5\x92\x8C\xE9\xA9\xB1\xE5\x8A\xA8\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xE8\xA2\xAB\xE6\xA0\x87\xE8\xAE\xB0\xE4\xBA\x86\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84\xE6\xB6\x88\xE6\x81\xAF\xE7\xBA\xA7\xE5\x88\xAB\xE3\x80\x82\xE8\xBF\x99\xE4\xBA\x9B\xE5\xAE\x8F\xE6\x9C\x89\xEF\xBC\x9Adev_err(), dev_warn(), 571dev_info()\xE7\xAD\x89\xE7\xAD\x89\xE3\x80\x82\xE5\xAF\xB9\xE4\xBA\x8E\xE9\x82\xA3\xE4\xBA\x9B\xE4\xB8\x8D\xE5\x92\x8C\xE6\x9F\x90\xE4\xB8\xAA\xE7\x89\xB9\xE5\xAE\x9A\xE8\xAE\xBE\xE5\xA4\x87\xE7\x9B\xB8\xE5\x85\xB3\xE8\xBF\x9E\xE7\x9A\x84\xE4\xBF\xA1\xE6\x81\xAF\xEF\xBC\x8C<linux/kernel.h>\xE5\xAE\x9A\xE4\xB9\x89\xE4\xBA\x86 572pr_debug()\xE5\x92\x8Cpr_info()\xE3\x80\x82 573 574\xE5\x86\x99\xE5\x87\xBA\xE5\xA5\xBD\xE7\x9A\x84\xE8\xB0\x83\xE8\xAF\x95\xE4\xBF\xA1\xE6\x81\xAF\xE5\x8F\xAF\xE4\xBB\xA5\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\xBE\x88\xE5\xA4\xA7\xE7\x9A\x84\xE6\x8C\x91\xE6\x88\x98\xEF\xBC\x9B\xE5\xBD\x93\xE4\xBD\xA0\xE5\x86\x99\xE5\x87\xBA\xE6\x9D\xA5\xE4\xB9\x8B\xE5\x90\x8E\xEF\xBC\x8C\xE8\xBF\x99\xE4\xBA\x9B\xE4\xBF\xA1\xE6\x81\xAF\xE5\x9C\xA8\xE8\xBF\x9C\xE7\xA8\x8B\xE9\x99\xA4\xE9\x94\x99\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99 575\xE5\xB0\xB1\xE4\xBC\x9A\xE6\x88\x90\xE4\xB8\xBA\xE6\x9E\x81\xE5\xA4\xA7\xE7\x9A\x84\xE5\xB8\xAE\xE5\x8A\xA9\xE3\x80\x82\xE5\xBD\x93DEBUG\xE7\xAC\xA6\xE5\x8F\xB7\xE6\xB2\xA1\xE6\x9C\x89\xE8\xA2\xAB\xE5\xAE\x9A\xE4\xB9\x89\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8C\xE8\xBF\x99\xE4\xBA\x9B\xE4\xBF\xA1\xE6\x81\xAF\xE4\xB8\x8D\xE5\xBA\x94\xE8\xAF\xA5\xE8\xA2\xAB\xE7\xBC\x96\xE8\xAF\x91\xE8\xBF\x9B\xE5\x86\x85\xE6\xA0\xB8\xE9\x87\x8C 576\xEF\xBC\x88\xE4\xB9\x9F\xE5\xB0\xB1\xE6\x98\xAF\xE8\xAF\xB4\xEF\xBC\x8C\xE9\xBB\x98\xE8\xAE\xA4\xE5\x9C\xB0\xEF\xBC\x8C\xE5\xAE\x83\xE4\xBB\xAC\xE4\xB8\x8D\xE5\xBA\x94\xE8\xAF\xA5\xE8\xA2\xAB\xE5\x8C\x85\xE5\x90\xAB\xE5\x9C\xA8\xE5\x86\x85\xEF\xBC\x89\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE4\xBD\xBF\xE7\x94\xA8dev_dbg()\xE6\x88\x96\xE8\x80\x85pr_debug()\xEF\xBC\x8C 577\xE5\xB0\xB1\xE8\x83\xBD\xE8\x87\xAA\xE5\x8A\xA8\xE8\xBE\xBE\xE5\x88\xB0\xE8\xBF\x99\xE4\xB8\xAA\xE6\x95\x88\xE6\x9E\x9C\xE3\x80\x82\xE5\xBE\x88\xE5\xA4\x9A\xE5\xAD\x90\xE7\xB3\xBB\xE7\xBB\x9F\xE6\x8B\xA5\xE6\x9C\x89Kconfig\xE9\x80\x89\xE9\xA1\xB9\xE6\x9D\xA5\xE5\x90\xAF\xE7\x94\xA8-DDEBUG\xE3\x80\x82\xE8\xBF\x98\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE7\x9B\xB8\xE5\x85\xB3\xE7\x9A\x84\xE6\x83\xAF\xE4\xBE\x8B 578\xE6\x98\xAF\xE4\xBD\xBF\xE7\x94\xA8VERBOSE_DEBUG\xE6\x9D\xA5\xE6\xB7\xBB\xE5\x8A\xA0dev_vdbg()\xE6\xB6\x88\xE6\x81\xAF\xE5\x88\xB0\xE9\x82\xA3\xE4\xBA\x9B\xE5\xB7\xB2\xE7\xBB\x8F\xE7\x94\xB1DEBUG\xE5\x90\xAF\xE7\x94\xA8\xE7\x9A\x84\xE6\xB6\x88\xE6\x81\xAF\xE4\xB9\x8B\xE4\xB8\x8A\xE3\x80\x82 579 580 581 \xE7\xAC\xAC\xE5\x8D\x81\xE5\x9B\x9B\xE7\xAB\xA0\xEF\xBC\x9A\xE5\x88\x86\xE9\x85\x8D\xE5\x86\x85\xE5\xAD\x98 582 583\xE5\x86\x85\xE6\xA0\xB8\xE6\x8F\x90\xE4\xBE\x9B\xE4\xBA\x86\xE4\xB8\x8B\xE9\x9D\xA2\xE7\x9A\x84\xE4\xB8\x80\xE8\x88\xAC\xE7\x94\xA8\xE9\x80\x94\xE7\x9A\x84\xE5\x86\x85\xE5\xAD\x98\xE5\x88\x86\xE9\x85\x8D\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x9Akmalloc()\xEF\xBC\x8Ckzalloc()\xEF\xBC\x8Ckcalloc()\xE5\x92\x8C 584vmalloc()\xE3\x80\x82\xE8\xAF\xB7\xE5\x8F\x82\xE8\x80\x83API\xE6\x96\x87\xE6\xA1\xA3\xE4\xBB\xA5\xE8\x8E\xB7\xE5\x8F\x96\xE6\x9C\x89\xE5\x85\xB3\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84\xE8\xAF\xA6\xE7\xBB\x86\xE4\xBF\xA1\xE6\x81\xAF\xE3\x80\x82 585 586\xE4\xBC\xA0\xE9\x80\x92\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE5\xA4\xA7\xE5\xB0\x8F\xE7\x9A\x84\xE9\xA6\x96\xE9\x80\x89\xE5\xBD\xA2\xE5\xBC\x8F\xE6\x98\xAF\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xEF\xBC\x9A 587 588 p = kmalloc(sizeof(*p), ...); 589 590\xE5\x8F\xA6\xE5\xA4\x96\xE4\xB8\x80\xE7\xA7\x8D\xE4\xBC\xA0\xE9\x80\x92\xE6\x96\xB9\xE5\xBC\x8F\xE4\xB8\xAD\xEF\xBC\x8Csizeof\xE7\x9A\x84\xE6\x93\x8D\xE4\xBD\x9C\xE6\x95\xB0\xE6\x98\xAF\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xEF\xBC\x8C\xE8\xBF\x99\xE6\xA0\xB7\xE4\xBC\x9A\xE9\x99\x8D\xE4\xBD\x8E\xE5\x8F\xAF\xE8\xAF\xBB\xE6\x80\xA7\xEF\xBC\x8C\xE5\xB9\xB6\xE4\xB8\x94\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE5\xBC\x95 591\xE5\x85\xA5bug\xE3\x80\x82\xE6\x9C\x89\xE5\x8F\xAF\xE8\x83\xBD\xE6\x8C\x87\xE9\x92\x88\xE5\x8F\x98\xE9\x87\x8F\xE7\xB1\xBB\xE5\x9E\x8B\xE8\xA2\xAB\xE6\x94\xB9\xE5\x8F\x98\xE6\x97\xB6\xEF\xBC\x8C\xE8\x80\x8C\xE5\xAF\xB9\xE5\xBA\x94\xE7\x9A\x84\xE4\xBC\xA0\xE9\x80\x92\xE7\xBB\x99\xE5\x86\x85\xE5\xAD\x98\xE5\x88\x86\xE9\x85\x8D\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84sizeof\xE7\x9A\x84\xE7\xBB\x93\xE6\x9E\x9C\xE4\xB8\x8D\xE5\x8F\x98\xE3\x80\x82 592 593\xE5\xBC\xBA\xE5\x88\xB6\xE8\xBD\xAC\xE6\x8D\xA2\xE4\xB8\x80\xE4\xB8\xAAvoid\xE6\x8C\x87\xE9\x92\x88\xE8\xBF\x94\xE5\x9B\x9E\xE5\x80\xBC\xE6\x98\xAF\xE5\xA4\x9A\xE4\xBD\x99\xE7\x9A\x84\xE3\x80\x82C\xE8\xAF\xAD\xE8\xA8\x80\xE6\x9C\xAC\xE8\xBA\xAB\xE4\xBF\x9D\xE8\xAF\x81\xE4\xBA\x86\xE4\xBB\x8Evoid\xE6\x8C\x87\xE9\x92\x88\xE5\x88\xB0\xE5\x85\xB6\xE4\xBB\x96\xE4\xBB\xBB\xE4\xBD\x95\xE6\x8C\x87\xE9\x92\x88\xE7\xB1\xBB\xE5\x9E\x8B 594\xE7\x9A\x84\xE8\xBD\xAC\xE6\x8D\xA2\xE6\x98\xAF\xE6\xB2\xA1\xE6\x9C\x89\xE9\x97\xAE\xE9\xA2\x98\xE7\x9A\x84\xE3\x80\x82 595 596 597 \xE7\xAC\xAC\xE5\x8D\x81\xE4\xBA\x94\xE7\xAB\xA0\xEF\xBC\x9A\xE5\x86\x85\xE8\x81\x94\xE5\xBC\x8A\xE7\x97\x85 598 599\xE6\x9C\x89\xE4\xB8\x80\xE4\xB8\xAA\xE5\xB8\xB8\xE8\xA7\x81\xE7\x9A\x84\xE8\xAF\xAF\xE8\xA7\xA3\xE6\x98\xAF\xE5\x86\x85\xE8\x81\x94\xE5\x87\xBD\xE6\x95\xB0\xE6\x98\xAFgcc\xE6\x8F\x90\xE4\xBE\x9B\xE7\x9A\x84\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xAE\xA9\xE4\xBB\xA3\xE7\xA0\x81\xE8\xBF\x90\xE8\xA1\x8C\xE6\x9B\xB4\xE5\xBF\xAB\xE7\x9A\x84\xE4\xB8\x80\xE4\xB8\xAA\xE9\x80\x89\xE9\xA1\xB9\xE3\x80\x82\xE8\x99\xBD\xE7\x84\xB6\xE4\xBD\xBF\xE7\x94\xA8\xE5\x86\x85\xE8\x81\x94 600\xE5\x87\xBD\xE6\x95\xB0\xE6\x9C\x89\xE6\x97\xB6\xE5\x80\x99\xE6\x98\xAF\xE6\x81\xB0\xE5\xBD\x93\xE7\x9A\x84\xEF\xBC\x88\xE6\xAF\x94\xE5\xA6\x82\xE4\xBD\x9C\xE4\xB8\xBA\xE4\xB8\x80\xE7\xA7\x8D\xE6\x9B\xBF\xE4\xBB\xA3\xE5\xAE\x8F\xE7\x9A\x84\xE6\x96\xB9\xE5\xBC\x8F\xEF\xBC\x8C\xE8\xAF\xB7\xE7\x9C\x8B\xE7\xAC\xAC\xE5\x8D\x81\xE4\xBA\x8C\xE7\xAB\xA0\xEF\xBC\x89\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE5\xBE\x88\xE5\xA4\x9A\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE4\xB8\x8D\xE6\x98\xAF 601\xE8\xBF\x99\xE6\xA0\xB7\xE3\x80\x82inline\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE7\x9A\x84\xE8\xBF\x87\xE5\xBA\xA6\xE4\xBD\xBF\xE7\x94\xA8\xE4\xBC\x9A\xE4\xBD\xBF\xE5\x86\x85\xE6\xA0\xB8\xE5\x8F\x98\xE5\xA4\xA7\xEF\xBC\x8C\xE4\xBB\x8E\xE8\x80\x8C\xE4\xBD\xBF\xE6\x95\xB4\xE4\xB8\xAA\xE7\xB3\xBB\xE7\xBB\x9F\xE8\xBF\x90\xE8\xA1\x8C\xE9\x80\x9F\xE5\xBA\xA6\xE5\x8F\x98\xE6\x85\xA2\xE3\x80\x82\xE5\x9B\xA0\xE4\xB8\xBA\xE5\xA4\xA7\xE5\x86\x85\xE6\xA0\xB8 602\xE4\xBC\x9A\xE5\x8D\xA0\xE7\x94\xA8\xE6\x9B\xB4\xE5\xA4\x9A\xE7\x9A\x84\xE6\x8C\x87\xE4\xBB\xA4\xE9\xAB\x98\xE9\x80\x9F\xE7\xBC\x93\xE5\xAD\x98\xEF\xBC\x88\xE8\xAF\x91\xE6\xB3\xA8\xEF\xBC\x9A\xE4\xB8\x80\xE7\xBA\xA7\xE7\xBC\x93\xE5\xAD\x98\xE9\x80\x9A\xE5\xB8\xB8\xE6\x98\xAF\xE6\x8C\x87\xE4\xBB\xA4\xE7\xBC\x93\xE5\xAD\x98\xE5\x92\x8C\xE6\x95\xB0\xE6\x8D\xAE\xE7\xBC\x93\xE5\xAD\x98\xE5\x88\x86\xE5\xBC\x80\xE7\x9A\x84\xEF\xBC\x89\xE8\x80\x8C\xE4\xB8\x94\xE4\xBC\x9A\xE5\xAF\xBC 603\xE8\x87\xB4pagecache\xE7\x9A\x84\xE5\x8F\xAF\xE7\x94\xA8\xE5\x86\x85\xE5\xAD\x98\xE5\x87\x8F\xE5\xB0\x91\xE3\x80\x82\xE6\x83\xB3\xE8\xB1\xA1\xE4\xB8\x80\xE4\xB8\x8B\xEF\xBC\x8C\xE4\xB8\x80\xE6\xAC\xA1pagecache\xE6\x9C\xAA\xE5\x91\xBD\xE4\xB8\xAD\xE5\xB0\xB1\xE4\xBC\x9A\xE5\xAF\xBC\xE8\x87\xB4\xE4\xB8\x80\xE6\xAC\xA1\xE7\xA3\x81\xE7\x9B\x98\xE5\xAF\xBB\xE5\x9D\x80\xEF\xBC\x8C\xE5\xB0\x86 604\xE8\x80\x97\xE6\x97\xB65\xE6\xAF\xAB\xE7\xA7\x92\xE3\x80\x825\xE6\xAF\xAB\xE7\xA7\x92\xE7\x9A\x84\xE6\x97\xB6\xE9\x97\xB4\xE5\x86\x85CPU\xE8\x83\xBD\xE6\x89\xA7\xE8\xA1\x8C\xE5\xBE\x88\xE5\xA4\x9A\xE5\xBE\x88\xE5\xA4\x9A\xE6\x8C\x87\xE4\xBB\xA4\xE3\x80\x82 605 606\xE4\xB8\x80\xE4\xB8\xAA\xE5\x9F\xBA\xE6\x9C\xAC\xE7\x9A\x84\xE5\x8E\x9F\xE5\x88\x99\xE6\x98\xAF\xE5\xA6\x82\xE6\x9E\x9C\xE4\xB8\x80\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE6\x9C\x893\xE8\xA1\x8C\xE4\xBB\xA5\xE4\xB8\x8A\xEF\xBC\x8C\xE5\xB0\xB1\xE4\xB8\x8D\xE8\xA6\x81\xE6\x8A\x8A\xE5\xAE\x83\xE5\x8F\x98\xE6\x88\x90\xE5\x86\x85\xE8\x81\x94\xE5\x87\xBD\xE6\x95\xB0\xE3\x80\x82\xE8\xBF\x99\xE4\xB8\xAA\xE5\x8E\x9F\xE5\x88\x99\xE7\x9A\x84\xE4\xB8\x80\xE4\xB8\xAA\xE4\xBE\x8B 607\xE5\xA4\x96\xE6\x98\xAF\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE7\x9F\xA5\xE9\x81\x93\xE6\x9F\x90\xE4\xB8\xAA\xE5\x8F\x82\xE6\x95\xB0\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE7\xBC\x96\xE8\xAF\x91\xE6\x97\xB6\xE5\xB8\xB8\xE9\x87\x8F\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x94\xE5\x9B\xA0\xE4\xB8\xBA\xE8\xBF\x99\xE4\xB8\xAA\xE5\xB8\xB8\xE9\x87\x8F\xE4\xBD\xA0\xE7\xA1\xAE\xE5\xAE\x9A\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE5\x9C\xA8\xE7\xBC\x96\xE8\xAF\x91\xE6\x97\xB6\xE8\x83\xBD 608\xE4\xBC\x98\xE5\x8C\x96\xE6\x8E\x89\xE4\xBD\xA0\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\xA4\xA7\xE9\x83\xA8\xE5\x88\x86\xE4\xBB\xA3\xE7\xA0\x81\xEF\xBC\x8C\xE9\x82\xA3\xE4\xBB\x8D\xE7\x84\xB6\xE5\x8F\xAF\xE4\xBB\xA5\xE7\xBB\x99\xE5\xAE\x83\xE5\x8A\xA0\xE4\xB8\x8Ainline\xE5\x85\xB3\xE9\x94\xAE\xE5\xAD\x97\xE3\x80\x82kmalloc()\xE5\x86\x85\xE8\x81\x94\xE5\x87\xBD\xE6\x95\xB0\xE5\xB0\xB1 609\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\xBE\x88\xE5\xA5\xBD\xE7\x9A\x84\xE4\xBE\x8B\xE5\xAD\x90\xE3\x80\x82 610 611\xE4\xBA\xBA\xE4\xBB\xAC\xE7\xBB\x8F\xE5\xB8\xB8\xE4\xB8\xBB\xE5\xBC\xA0\xE7\xBB\x99static\xE7\x9A\x84\xE8\x80\x8C\xE4\xB8\x94\xE5\x8F\xAA\xE7\x94\xA8\xE4\xBA\x86\xE4\xB8\x80\xE6\xAC\xA1\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE5\x8A\xA0\xE4\xB8\x8Ainline\xEF\xBC\x8C\xE5\xA6\x82\xE6\xAD\xA4\xE4\xB8\x8D\xE4\xBC\x9A\xE6\x9C\x89\xE4\xBB\xBB\xE4\xBD\x95\xE6\x8D\x9F\xE5\xA4\xB1\xEF\xBC\x8C\xE5\x9B\xA0\xE4\xB8\xBA\xE6\xB2\xA1 612\xE6\x9C\x89\xE4\xBB\x80\xE4\xB9\x88\xE5\xA5\xBD\xE6\x9D\x83\xE8\xA1\xA1\xE7\x9A\x84\xE3\x80\x82\xE8\x99\xBD\xE7\x84\xB6\xE4\xBB\x8E\xE6\x8A\x80\xE6\x9C\xAF\xE4\xB8\x8A\xE8\xAF\xB4\xE8\xBF\x99\xE6\x98\xAF\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAF\xE5\xAE\x9E\xE9\x99\x85\xE4\xB8\x8A\xE8\xBF\x99\xE7\xA7\x8D\xE6\x83\x85\xE5\x86\xB5\xE4\xB8\x8B\xE5\x8D\xB3\xE4\xBD\xBF\xE4\xB8\x8D\xE5\x8A\xA0inline gcc 613\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE8\x87\xAA\xE5\x8A\xA8\xE4\xBD\xBF\xE5\x85\xB6\xE5\x86\x85\xE8\x81\x94\xE3\x80\x82\xE8\x80\x8C\xE4\xB8\x94\xE5\x85\xB6\xE4\xBB\x96\xE7\x94\xA8\xE6\x88\xB7\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE8\xA6\x81\xE6\xB1\x82\xE7\xA7\xBB\xE9\x99\xA4inline\xEF\xBC\x8C\xE7\x94\xB1\xE6\xAD\xA4\xE8\x80\x8C\xE6\x9D\xA5\xE7\x9A\x84\xE4\xBA\x89\xE8\xAE\xBA\xE4\xBC\x9A\xE6\x8A\xB5\xE6\xB6\x88inline 614\xE8\x87\xAA\xE8\xBA\xAB\xE7\x9A\x84\xE6\xBD\x9C\xE5\x9C\xA8\xE4\xBB\xB7\xE5\x80\xBC\xEF\xBC\x8C\xE5\xBE\x97\xE4\xB8\x8D\xE5\x81\xBF\xE5\xA4\xB1\xE3\x80\x82 615 616 617 \xE7\xAC\xAC\xE5\x8D\x81\xE5\x85\xAD\xE7\xAB\xA0\xEF\xBC\x9A\xE5\x87\xBD\xE6\x95\xB0\xE8\xBF\x94\xE5\x9B\x9E\xE5\x80\xBC\xE5\x8F\x8A\xE5\x91\xBD\xE5\x90\x8D 618 619\xE5\x87\xBD\xE6\x95\xB0\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xBF\x94\xE5\x9B\x9E\xE5\xBE\x88\xE5\xA4\x9A\xE7\xA7\x8D\xE4\xB8\x8D\xE5\x90\x8C\xE7\xB1\xBB\xE5\x9E\x8B\xE7\x9A\x84\xE5\x80\xBC\xEF\xBC\x8C\xE6\x9C\x80\xE5\xB8\xB8\xE8\xA7\x81\xE7\x9A\x84\xE4\xB8\x80\xE7\xA7\x8D\xE6\x98\xAF\xE8\xA1\xA8\xE6\x98\x8E\xE5\x87\xBD\xE6\x95\xB0\xE6\x89\xA7\xE8\xA1\x8C\xE6\x88\x90\xE5\x8A\x9F\xE6\x88\x96\xE8\x80\x85\xE5\xA4\xB1\xE8\xB4\xA5\xE7\x9A\x84\xE5\x80\xBC\xE3\x80\x82\xE8\xBF\x99\xE6\xA0\xB7 620\xE7\x9A\x84\xE4\xB8\x80\xE4\xB8\xAA\xE5\x80\xBC\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xA1\xA8\xE7\xA4\xBA\xE4\xB8\xBA\xE4\xB8\x80\xE4\xB8\xAA\xE9\x94\x99\xE8\xAF\xAF\xE4\xBB\xA3\xE7\xA0\x81\xE6\x95\xB4\xE6\x95\xB0\xEF\xBC\x88-Exxx\xEF\xBC\x9D\xE5\xA4\xB1\xE8\xB4\xA5\xEF\xBC\x8C0\xEF\xBC\x9D\xE6\x88\x90\xE5\x8A\x9F\xEF\xBC\x89\xE6\x88\x96\xE8\x80\x85\xE4\xB8\x80\xE4\xB8\xAA\xE2\x80\x9C\xE6\x88\x90\xE5\x8A\x9F\xE2\x80\x9D\xE5\xB8\x83\xE5\xB0\x94\xE5\x80\xBC\xEF\xBC\x88 6210\xEF\xBC\x9D\xE5\xA4\xB1\xE8\xB4\xA5\xEF\xBC\x8C\xE9\x9D\x9E0\xEF\xBC\x9D\xE6\x88\x90\xE5\x8A\x9F\xEF\xBC\x89\xE3\x80\x82 622 623\xE6\xB7\xB7\xE5\x90\x88\xE4\xBD\xBF\xE7\x94\xA8\xE8\xBF\x99\xE4\xB8\xA4\xE7\xA7\x8D\xE8\xA1\xA8\xE8\xBE\xBE\xE6\x96\xB9\xE5\xBC\x8F\xE6\x98\xAF\xE9\x9A\xBE\xE4\xBA\x8E\xE5\x8F\x91\xE7\x8E\xB0\xE7\x9A\x84bug\xE7\x9A\x84\xE6\x9D\xA5\xE6\xBA\x90\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9CC\xE8\xAF\xAD\xE8\xA8\x80\xE6\x9C\xAC\xE8\xBA\xAB\xE4\xB8\xA5\xE6\xA0\xBC\xE5\x8C\xBA\xE5\x88\x86\xE6\x95\xB4\xE5\xBD\xA2\xE5\x92\x8C\xE5\xB8\x83\xE5\xB0\x94\xE5\x9E\x8B\xE5\x8F\x98 624\xE9\x87\x8F\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE7\xBC\x96\xE8\xAF\x91\xE5\x99\xA8\xE5\xB0\xB1\xE8\x83\xBD\xE5\xA4\x9F\xE5\xB8\xAE\xE6\x88\x91\xE4\xBB\xAC\xE5\x8F\x91\xE7\x8E\xB0\xE8\xBF\x99\xE4\xBA\x9B\xE9\x94\x99\xE8\xAF\xAF\xE2\x80\xA6\xE2\x80\xA6\xE4\xB8\x8D\xE8\xBF\x87C\xE8\xAF\xAD\xE8\xA8\x80\xE4\xB8\x8D\xE5\x8C\xBA\xE5\x88\x86\xE3\x80\x82\xE4\xB8\xBA\xE4\xBA\x86\xE9\x81\xBF\xE5\x85\x8D\xE4\xBA\xA7\xE7\x94\x9F\xE8\xBF\x99\xE7\xA7\x8Dbug\xEF\xBC\x8C\xE8\xAF\xB7 625\xE9\x81\xB5\xE5\xBE\xAA\xE4\xB8\x8B\xE9\x9D\xA2\xE7\x9A\x84\xE6\x83\xAF\xE4\xBE\x8B\xEF\xBC\x9A 626 627 \xE5\xA6\x82\xE6\x9E\x9C\xE5\x87\xBD\xE6\x95\xB0\xE7\x9A\x84\xE5\x90\x8D\xE5\xAD\x97\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8A\xA8\xE4\xBD\x9C\xE6\x88\x96\xE8\x80\x85\xE5\xBC\xBA\xE5\x88\xB6\xE6\x80\xA7\xE7\x9A\x84\xE5\x91\xBD\xE4\xBB\xA4\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE8\xBF\x99\xE4\xB8\xAA\xE5\x87\xBD\xE6\x95\xB0\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x94\xE5\x9B\x9E\xE9\x94\x99\xE8\xAF\xAF\xE4\xBB\xA3\xE7\xA0\x81\xE6\x95\xB4 628 \xE6\x95\xB0\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x88\xA4\xE6\x96\xAD\xEF\xBC\x8C\xE9\x82\xA3\xE4\xB9\x88\xE5\x87\xBD\xE6\x95\xB0\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x94\xE5\x9B\x9E\xE4\xB8\x80\xE4\xB8\xAA\xE2\x80\x9C\xE6\x88\x90\xE5\x8A\x9F\xE2\x80\x9D\xE5\xB8\x83\xE5\xB0\x94\xE5\x80\xBC\xE3\x80\x82 629 630\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x8C\xE2\x80\x9Cadd work\xE2\x80\x9D\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x91\xBD\xE4\xBB\xA4\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5add_work()\xE5\x87\xBD\xE6\x95\xB0\xE5\x9C\xA8\xE6\x88\x90\xE5\x8A\x9F\xE6\x97\xB6\xE8\xBF\x94\xE5\x9B\x9E0\xEF\xBC\x8C\xE5\x9C\xA8\xE5\xA4\xB1\xE8\xB4\xA5\xE6\x97\xB6\xE8\xBF\x94\xE5\x9B\x9E-EBUSY\xE3\x80\x82 631\xE7\xB1\xBB\xE4\xBC\xBC\xE7\x9A\x84\xEF\xBC\x8C\xE5\x9B\xA0\xE4\xB8\xBA\xE2\x80\x9CPCI device present\xE2\x80\x9D\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\x88\xA4\xE6\x96\xAD\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5pci_dev_present()\xE5\x87\xBD\xE6\x95\xB0\xE5\x9C\xA8\xE6\x88\x90\xE5\x8A\x9F\xE6\x89\xBE\xE5\x88\xB0 632\xE4\xB8\x80\xE4\xB8\xAA\xE5\x8C\xB9\xE9\x85\x8D\xE7\x9A\x84\xE8\xAE\xBE\xE5\xA4\x87\xE6\x97\xB6\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x94\xE5\x9B\x9E1\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE6\x89\xBE\xE4\xB8\x8D\xE5\x88\xB0\xE6\x97\xB6\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x94\xE5\x9B\x9E0\xE3\x80\x82 633 634\xE6\x89\x80\xE6\x9C\x89\xE5\xAF\xBC\xE5\x87\xBA\xEF\xBC\x88\xE8\xAF\x91\xE6\xB3\xA8\xEF\xBC\x9AEXPORT\xEF\xBC\x89\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE9\x83\xBD\xE5\xBF\x85\xE9\xA1\xBB\xE9\x81\xB5\xE5\xAE\x88\xE8\xBF\x99\xE4\xB8\xAA\xE6\x83\xAF\xE4\xBE\x8B\xEF\xBC\x8C\xE6\x89\x80\xE6\x9C\x89\xE7\x9A\x84\xE5\x85\xAC\xE5\x85\xB1\xE5\x87\xBD\xE6\x95\xB0\xE4\xB9\x9F\xE9\x83\xBD\xE5\xBA\x94\xE8\xAF\xA5\xE5\xA6\x82\xE6\xAD\xA4\xE3\x80\x82\xE7\xA7\x81 635\xE6\x9C\x89\xEF\xBC\x88static\xEF\xBC\x89\xE5\x87\xBD\xE6\x95\xB0\xE4\xB8\x8D\xE9\x9C\x80\xE8\xA6\x81\xE5\xA6\x82\xE6\xAD\xA4\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAF\xE6\x88\x91\xE4\xBB\xAC\xE4\xB9\x9F\xE6\x8E\xA8\xE8\x8D\x90\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xE3\x80\x82 636 637\xE8\xBF\x94\xE5\x9B\x9E\xE5\x80\xBC\xE6\x98\xAF\xE5\xAE\x9E\xE9\x99\x85\xE8\xAE\xA1\xE7\xAE\x97\xE7\xBB\x93\xE6\x9E\x9C\xE8\x80\x8C\xE4\xB8\x8D\xE6\x98\xAF\xE8\xAE\xA1\xE7\xAE\x97\xE6\x98\xAF\xE5\x90\xA6\xE6\x88\x90\xE5\x8A\x9F\xE7\x9A\x84\xE6\xA0\x87\xE5\xBF\x97\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xE4\xB8\x8D\xE5\x8F\x97\xE6\xAD\xA4\xE6\x83\xAF\xE4\xBE\x8B\xE7\x9A\x84\xE9\x99\x90\xE5\x88\xB6\xE3\x80\x82\xE4\xB8\x80\xE8\x88\xAC\xE7\x9A\x84\xEF\xBC\x8C\xE4\xBB\x96\xE4\xBB\xAC 638\xE9\x80\x9A\xE8\xBF\x87\xE8\xBF\x94\xE5\x9B\x9E\xE4\xB8\x80\xE4\xBA\x9B\xE6\xAD\xA3\xE5\xB8\xB8\xE5\x80\xBC\xE8\x8C\x83\xE5\x9B\xB4\xE4\xB9\x8B\xE5\xA4\x96\xE7\x9A\x84\xE7\xBB\x93\xE6\x9E\x9C\xE6\x9D\xA5\xE8\xA1\xA8\xE7\xA4\xBA\xE5\x87\xBA\xE9\x94\x99\xE3\x80\x82\xE5\x85\xB8\xE5\x9E\x8B\xE7\x9A\x84\xE4\xBE\x8B\xE5\xAD\x90\xE6\x98\xAF\xE8\xBF\x94\xE5\x9B\x9E\xE6\x8C\x87\xE9\x92\x88\xE7\x9A\x84\xE5\x87\xBD\xE6\x95\xB0\xEF\xBC\x8C\xE4\xBB\x96\xE4\xBB\xAC\xE4\xBD\xBF\xE7\x94\xA8 639NULL\xE6\x88\x96\xE8\x80\x85ERR_PTR\xE6\x9C\xBA\xE5\x88\xB6\xE6\x9D\xA5\xE6\x8A\xA5\xE5\x91\x8A\xE9\x94\x99\xE8\xAF\xAF\xE3\x80\x82 640 641 642 \xE7\xAC\xAC\xE5\x8D\x81\xE4\xB8\x83\xE7\xAB\xA0\xEF\xBC\x9A\xE4\xB8\x8D\xE8\xA6\x81\xE9\x87\x8D\xE6\x96\xB0\xE5\x8F\x91\xE6\x98\x8E\xE5\x86\x85\xE6\xA0\xB8\xE5\xAE\x8F 643 644\xE5\xA4\xB4\xE6\x96\x87\xE4\xBB\xB6include/linux/kernel.h\xE5\x8C\x85\xE5\x90\xAB\xE4\xBA\x86\xE4\xB8\x80\xE4\xBA\x9B\xE5\xAE\x8F\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x83\xE4\xBB\xAC\xEF\xBC\x8C\xE8\x80\x8C\xE4\xB8\x8D\xE8\xA6\x81\xE8\x87\xAA\xE5\xB7\xB1\xE5\x86\x99\xE4\xB8\x80\xE4\xBA\x9B\xE5\xAE\x83\xE4\xBB\xAC\xE7\x9A\x84 645\xE5\x8F\x98\xE7\xA7\x8D\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x81\xE8\xAE\xA1\xE7\xAE\x97\xE4\xB8\x80\xE4\xB8\xAA\xE6\x95\xB0\xE7\xBB\x84\xE7\x9A\x84\xE9\x95\xBF\xE5\xBA\xA6\xEF\xBC\x8C\xE4\xBD\xBF\xE7\x94\xA8\xE8\xBF\x99\xE4\xB8\xAA\xE5\xAE\x8F 646 647 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 648 649\xE7\xB1\xBB\xE4\xBC\xBC\xE7\x9A\x84\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE8\xA6\x81\xE8\xAE\xA1\xE7\xAE\x97\xE6\x9F\x90\xE7\xBB\x93\xE6\x9E\x84\xE4\xBD\x93\xE6\x88\x90\xE5\x91\x98\xE7\x9A\x84\xE5\xA4\xA7\xE5\xB0\x8F\xEF\xBC\x8C\xE4\xBD\xBF\xE7\x94\xA8 650 651 #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) 652 653\xE8\xBF\x98\xE6\x9C\x89\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x81\x9A\xE4\xB8\xA5\xE6\xA0\xBC\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xE6\xA3\x80\xE6\x9F\xA5\xE7\x9A\x84min()\xE5\x92\x8Cmax()\xE5\xAE\x8F\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE9\x9C\x80\xE8\xA6\x81\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x83\xE4\xBB\xAC\xE3\x80\x82\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE8\x87\xAA\xE5\xB7\xB1\xE7\x9C\x8B\xE7\x9C\x8B 654\xE9\x82\xA3\xE4\xB8\xAA\xE5\xA4\xB4\xE6\x96\x87\xE4\xBB\xB6\xE9\x87\x8C\xE8\xBF\x98\xE5\xAE\x9A\xE4\xB9\x89\xE4\xBA\x86\xE4\xBB\x80\xE4\xB9\x88\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE6\x8B\xBF\xE6\x9D\xA5\xE7\x94\xA8\xE7\x9A\x84\xE4\xB8\x9C\xE8\xA5\xBF\xEF\xBC\x8C\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\x89\xE5\xAE\x9A\xE4\xB9\x89\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xB0\xB1\xE4\xB8\x8D\xE5\xBA\x94\xE5\x9C\xA8\xE4\xBD\xA0\xE7\x9A\x84\xE4\xBB\xA3\xE7\xA0\x81\xE9\x87\x8C 655\xE8\x87\xAA\xE5\xB7\xB1\xE9\x87\x8D\xE6\x96\xB0\xE5\xAE\x9A\xE4\xB9\x89\xE3\x80\x82 656 657 658 \xE7\xAC\xAC\xE5\x8D\x81\xE5\x85\xAB\xE7\xAB\xA0\xEF\xBC\x9A\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xE6\xA8\xA1\xE5\xBC\x8F\xE8\xA1\x8C\xE5\x92\x8C\xE5\x85\xB6\xE4\xBB\x96\xE9\x9C\x80\xE8\xA6\x81\xE7\xBD\x97\xE5\x97\xA6\xE7\x9A\x84\xE4\xBA\x8B\xE6\x83\x85 659 660\xE6\x9C\x89\xE4\xB8\x80\xE4\xBA\x9B\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xE5\x8F\xAF\xE4\xBB\xA5\xE8\xA7\xA3\xE9\x87\x8A\xE5\xB5\x8C\xE5\x85\xA5\xE5\x9C\xA8\xE6\xBA\x90\xE6\x96\x87\xE4\xBB\xB6\xE9\x87\x8C\xE7\x9A\x84\xE7\x94\xB1\xE4\xB8\x80\xE4\xBA\x9B\xE7\x89\xB9\xE6\xAE\x8A\xE6\xA0\x87\xE8\xAE\xB0\xE6\xA0\x87\xE6\x98\x8E\xE7\x9A\x84\xE9\x85\x8D\xE7\xBD\xAE\xE4\xBF\xA1\xE6\x81\xAF\xE3\x80\x82\xE6\xAF\x94\xE5\xA6\x82\xEF\xBC\x8Cemacs 661\xE8\x83\xBD\xE5\xA4\x9F\xE8\xA7\xA3\xE9\x87\x8A\xE8\xA2\xAB\xE6\xA0\x87\xE8\xAE\xB0\xE6\x88\x90\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE8\xA1\x8C\xEF\xBC\x9A 662 663-*- mode: c -*- 664 665\xE6\x88\x96\xE8\x80\x85\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xEF\xBC\x9A 666 667/* 668Local Variables: 669compile-command: "gcc -DMAGIC_DEBUG_FLAG foo.c" 670End: 671*/ 672 673Vim\xE8\x83\xBD\xE5\xA4\x9F\xE8\xA7\xA3\xE9\x87\x8A\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE6\xA0\x87\xE8\xAE\xB0\xEF\xBC\x9A 674 675/* vim:set sw=8 noet */ 676 677\xE4\xB8\x8D\xE8\xA6\x81\xE5\x9C\xA8\xE6\xBA\x90\xE4\xBB\xA3\xE7\xA0\x81\xE4\xB8\xAD\xE5\x8C\x85\xE5\x90\xAB\xE4\xBB\xBB\xE4\xBD\x95\xE8\xBF\x99\xE6\xA0\xB7\xE7\x9A\x84\xE5\x86\x85\xE5\xAE\xB9\xE3\x80\x82\xE6\xAF\x8F\xE4\xB8\xAA\xE4\xBA\xBA\xE9\x83\xBD\xE6\x9C\x89\xE4\xBB\x96\xE8\x87\xAA\xE5\xB7\xB1\xE7\x9A\x84\xE7\xBC\x96\xE8\xBE\x91\xE5\x99\xA8\xE9\x85\x8D\xE7\xBD\xAE\xEF\xBC\x8C\xE4\xBD\xA0\xE7\x9A\x84\xE6\xBA\x90\xE6\x96\x87\xE4\xBB\xB6\xE4\xB8\x8D\xE5\xBA\x94 678\xE8\xAF\xA5\xE8\xA6\x86\xE7\x9B\x96\xE5\x88\xAB\xE4\xBA\xBA\xE7\x9A\x84\xE9\x85\x8D\xE7\xBD\xAE\xE3\x80\x82\xE8\xBF\x99\xE5\x8C\x85\xE6\x8B\xAC\xE6\x9C\x89\xE5\x85\xB3\xE7\xBC\xA9\xE8\xBF\x9B\xE5\x92\x8C\xE6\xA8\xA1\xE5\xBC\x8F\xE9\x85\x8D\xE7\xBD\xAE\xE7\x9A\x84\xE6\xA0\x87\xE8\xAE\xB0\xE3\x80\x82\xE4\xBA\xBA\xE4\xBB\xAC\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBD\xBF\xE7\x94\xA8\xE4\xBB\x96\xE4\xBB\xAC\xE8\x87\xAA\xE5\xB7\xB1\xE5\xAE\x9A\xE5\x88\xB6\xE7\x9A\x84\xE6\xA8\xA1 679\xE5\xBC\x8F\xEF\xBC\x8C\xE6\x88\x96\xE8\x80\x85\xE4\xBD\xBF\xE7\x94\xA8\xE5\x85\xB6\xE4\xBB\x96\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBA\xA7\xE7\x94\x9F\xE6\xAD\xA3\xE7\xA1\xAE\xE7\x9A\x84\xE7\xBC\xA9\xE8\xBF\x9B\xE7\x9A\x84\xE5\xB7\xA7\xE5\xA6\x99\xE6\x96\xB9\xE6\xB3\x95\xE3\x80\x82 680 681 682 683 \xE9\x99\x84\xE5\xBD\x95 I\xEF\xBC\x9A\xE5\x8F\x82\xE8\x80\x83 684 685The C Programming Language, \xE7\xAC\xAC\xE4\xBA\x8C\xE7\x89\x88, \xE4\xBD\x9C\xE8\x80\x85Brian W. Kernighan\xE5\x92\x8CDenni 686M. Ritchie. Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (\xE8\xBD\xAF\xE7\x9A\xAE), 6870-13-110370-9 (\xE7\xA1\xAC\xE7\x9A\xAE). URL: http://cm.bell-labs.com/cm/cs/cbook/ 688 689The Practice of Programming \xE4\xBD\x9C\xE8\x80\x85Brian W. Kernighan\xE5\x92\x8CRob Pike. Addison-Wesley, 690Inc., 1999. ISBN 0-201-61586-X. URL: http://cm.bell-labs.com/cm/cs/tpop/ 691 692cpp\xEF\xBC\x8Cgcc\xEF\xBC\x8Cgcc internals\xE5\x92\x8Cindent\xE7\x9A\x84GNU\xE6\x89\x8B\xE5\x86\x8C\xE2\x80\x94\xE2\x80\x94\xE5\x92\x8CK&R\xE5\x8F\x8A\xE6\x9C\xAC\xE6\x96\x87\xE7\x9B\xB8\xE7\xAC\xA6\xE5\x90\x88\xE7\x9A\x84\xE9\x83\xA8\xE5\x88\x86\xEF\xBC\x8C\xE5\x85\xA8\xE9\x83\xA8\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x9C\xA8 693http://www.gnu.org/manual/\xE6\x89\xBE\xE5\x88\xB0 694 695WG14\xE6\x98\xAFC\xE8\xAF\xAD\xE8\xA8\x80\xE7\x9A\x84\xE5\x9B\xBD\xE9\x99\x85\xE6\xA0\x87\xE5\x87\x86\xE5\x8C\x96\xE5\xB7\xA5\xE4\xBD\x9C\xE7\xBB\x84\xEF\xBC\x8CURL: http://www.open-std.org/JTC1/SC22/WG14/ 696 697Kernel CodingStyle\xEF\xBC\x8C\xE4\xBD\x9C\xE8\x80\x85greg@kroah.com\xE5\x8F\x91\xE8\xA1\xA8\xE4\xBA\x8EOLS 2002\xEF\xBC\x9A 698http://www.kroah.com/linux/talks/ols_2002_kernel_codingstyle_talk/html/ 699 700-- 701\xE6\x9C\x80\xE5\x90\x8E\xE6\x9B\xB4\xE6\x96\xB0\xE4\xBA\x8E2007\xE5\xB9\xB47\xE6\x9C\x8813\xE6\x97\xA5\xE3\x80\x82 702