LinuxÉ豸Çý¶¯Ö®——¹¹½¨ÄÚºËÊ÷
ѧLinuxÒ»Äê¶àÁË£¬¶ÔÇý¶¯µÄ֪ʶһµã¶¼Á˽⣬ÉÏÖÜÂòÁ˱¾¡¶LinuxÉ豸Çý¶¯¡·£¬O'REILLY³ö°æ£¬´òËãѧϰѧϰ¡£Ñ§Ï°¹ýµÄ´óÏÀ£¬Ï£Íû¿ÉÒÔÖ¸µ¼Ö¸µ¼¡£
Ê×ÏÈÏÂÔØLinuxÄںˣ¬°´×÷ÕßµÄ˵·¨£¬Ö»ÒªÊÇlinux-2.6.xxxµÄÄں˶¼¿ÉÒÔ£¬ÎÒµÄÊÇlinux-2.6.33.2¡£ÓÐÎ»ÍøÓÑ˵ÏÂÔØºó×îºÃ½âѹµ½/usr/src/Ŀ¼Ï£¬½âѹ
ÔÚ¹¹½¨ÄÚºËÊ÷ÊDzο¼ÁËÔÊéµÚËÄÕ“µ÷ÊÔ¼¼Êõ”£¬ÅäÖÃÁ˼¸Ìõµ÷ÊÔʱ¿ÉÄÜ»áÓõ½µÄÑ¡Ïî,ÕâЩѡÏî´ó¶àÔÚ“kernel hacking“²Ëµ¥ÖУº
CONFIG_DEBUG_KERNEL£ºÊ¹ÆäËûµ÷ÊÔÑ¡Ïî¿ÉÓÃ
CONFIG_DEBUG_SLAB£º´ò¿ªÄÚºËÄÚ´æ·ÖÅ亯ÊýÖеĶà¸öÀàÐͼì²é
CONFIG_DEBUG_PAGEALLOC£ºÔÚÊÍ·Åʱ£¬È«²¿ÄÚ´æÒ³´ÓÄں˵ØÖ·¿Õ¼äÖÐÒÆ³ö¡£¸ÃÑ¡Ï´ó´ó½µµÍÔËÐÐËÙ¶È£¬µ«¿ÉÒÔ¿ìËÙ¶¨Î»Ìض¨µÄÄÚ´æË𻵴íÎóµÄËùÔÚλÖÃ
CONFIG_DEBUG_SPINLOCK
CONFIG_DEBUG_SPINLOCK_SLEEP
CONFIG_INIT_DEBUG
CONFIG_DEBUG_INFO
Ïà¹ØÎĵµ£º
¡¡I2C×ÜÏß¾ßÓнṹ¼òµ¥Ê¹Ó÷½±ãµÄÌØµã¡£±¾ÎÄÃèÊöÁËlinuxÏÂI2CÇý¶¯µÄ½á¹¹£¬²¢ÔÚ´Ë»ù´¡Éϸø³öÁËI2CÉ豸Çý¶¯ºÍÓ¦ÓõÄʵÏÖ¡£
¡¡¡¡1 ÒýÑÔ
¡¡¡¡I2C (Inter£Integrated Circuit)×ÜÏßÊÇÒ»ÖÖÓÉPHILIPS¹«Ë¾¿ª·¢µÄÁ½Ïßʽ´®ÐÐ×ÜÏߣ¬ÓÃÓÚÁ¬½Ó΢¿ØÖÆÆ÷¼°ÆäÍâΧÉ豸¡£I2C×ÜÏß×îÖ÷ÒªµÄÓŵãÊÇÆä¼òµ¥ÐÔºÍÓÐЧÐÔ¡£ÓÉÓÚ½Ó¿ÚÖ±½ÓÔÚ×é¼þÖ ......
·þÎñÃû ±ØÐ裨ÊÇ/·ñ£©ÓÃ;ÃèÊö ×¢½â
acon ·ñ ÓïÑÔÖ§³Ö ÌØ±ðÖ ......
Ê×ÏÈÏÈѧѧ±à¼Æ÷£¬vim, emacsʲôµÄ¶¼ÐС£
È»ºóѧmake fileÎļþ£¬Ö»ÒªÖªµÀÒ»µã¾ÍÐУ¬ÕâÑù¾Í¿ÉÒÔ×¼±¸±à³ÌÐòÁË¡£
È»ºó¿´¿´¡¶C³ÌÐòÉè¼ÆÓïÑÔ¡·K&R£¬ÕâÑùÄØ£¬»ù±¾ÉϾͿÉÒÔ½øÐÐÒ»°ãµÄ±à³ÌÁË£¬Ë³±ãÕÒ±¾Êý¾Ý½á¹¹µÄÊéÀ´¿´¡£
Èç¹ûÏëѧϰUNIX/LINUXµÄ±à³Ì£¬¡¶APUE¡·¾ø¶Ô¾µäµÄ½Ì²Ä£¬¼ÓÉîһϹ¦µ×£¬Ñ§Ï°¡¶UNP¡·µÄµÚ¶þ¾í¡£ÕâÑù»ù ......
¾Å¡¢kill
1.×÷ÓÃ
killÃüÁîÓÃÀ´ÖÐÖ¹Ò»¸ö½ø³Ì¡£
2.¸ñʽ
kill [ £s signal | £p ] [ £a ] pid ...
kill £l [ signal ]
3.²ÎÊý
£s£ºÖ¸¶¨·¢Ë͵ÄÐźš£
£p£ºÄ£Äâ·¢ËÍÐźš£
£l£ºÖ¸¶¨ÐźŵÄÃû³ÆÁÐ±í¡£
pid£ºÒªÖÐÖ¹½ø³ÌµÄIDºÅ¡£
Signal£º±íʾÐźš£
4.˵Ã÷
½ø³ÌÊÇLinuxϵͳÖÐÒ»¸ö·Ç³£ÖØÒªµÄ¸ÅÄî¡£LinuxÊÇÒ»¸ö¶à ......
1¡¢ÓÃGCC±àÒë
1.1¡¢´´½¨Ô´Îļþ
(main.c) C Ô´Îļþ - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
int i;
i = atoi (argv[1]);
printf (“The reciprocal of %d is %g\n”, i, reciprocal (i ......