linux 0.11 ÄÚºËѧϰ console.c£¬¿ØÖÆÌ¨
²Î¿¼¡¶linuxÄÚºËÍêȫעÊÍ¡·ºÍÍøÉÏÏà¹ØÎÄÕÂ
/*
* ¿ØÖÆÌ¨ÏÔʾ²Ù×÷
*/
/*
* linux/kernel/console.c
*
* (C) 1991 Linus Torvalds
*/
/*
* console.c
*
* This module implements the console io functions
* 'void con_init(void)'
* 'void con_write(struct tty_queue * queue)'
* Hopefully this will be a rather complete VT102 implementation.
*
* Beeping thanks to John T Kohl.
*/
/**********************
* con_init con_write *
**********************/
/*
* NOTE!!! We sometimes disable and enable interrupts for a short while
* (to put a word in video IO), but this will work even for keyboard
* interrupts. We know interrupts aren't enabled when getting a keyboard
* interrupt, as we use trap-gates. Hopefully all is well.
*/
/*
* Code to check for different video-cards mostly by Galen Hunt,
* <g-hunt@ee.utah.edu>
*/
#include <linux/sched.h>
#include <linux/tty.h> // ¶¨Òåtty_struct½á¹¹£¬´®ÐÐͨÐÅ·½ÃæµÄ²ÎÊýºÍ³£Á¿
#include <asm/io.h> // Ó²¼þ¶ÔÓ¦µÄ»ã±àioÖ¸Áî
#include <asm/system.h>
/*
* These are set up by the setup-routine at boot-time:
*/
#define ORIG_X (*(unsigned char *)0x90000) // ¹â±êÁкÅ
#define ORIG_Y (*(unsigned char *)0x90001) // ¹â±êÐкÅ
#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) // ÏÔÊ¾Ò³Ãæ
#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) // ÏÔʾģʽ
#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) // ×Ö·ûÁÐÊý
#define ORIG_VIDEO_LINES (25) // ×Ö·ûÐÐÊý
#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) // £¿£¿
#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) // ÏÔʾÄÚ´æ´óСºÍÉ«²Êģʽ
#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) // ÏÔʾ¿¨ÌØÐÔ²ÎÊý
#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display,µ¥É«Îı¾ */
#define VIDEO_TYPE_CGA 0x11
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
¾²Ì¬¿âÓÃar -t YourFile
¶¯Ì¬¿âÓà nm -D YourFile
ÏÂÃæÊÇarºÍnmÃüÁîµÄһЩ²ÎÊý˵Ã÷
1.ar»ù±¾Ó÷¨
¡¡¡¡arÃüÁî¿ÉÒÔÓÃÀ´´´½¨¡¢Ð޸Ŀ⣬Ҳ¿ÉÒÔ´Ó¿âÖÐÌá³öµ¥¸öÄ£¿é¡£¿âÊÇÒ»µ¥¶ÀµÄÎļþ£¬ÀïÃæ°üº¬Á˰´ÕÕÌØ¶¨µÄ½á¹¹×éÖ¯ÆðÀ´µÄÆäËüµÄһЩÎļþ£¨³Æ×ö´Ë¿âÎļþµÄmember£©¡£ÔʼÎļþµÄÄÚÈÝ¡¢Ä£Ê½¡¢Ê±¼ä´Á¡¢ÊôÖ÷¡¢×éµÈÊôÐÔ¶¼±£ÁôÔÚ¿âÎ ......
ÉÏ´Î×ܽáÁËC++£¨ÃæÏò¶ÔÏó£©Éè¼ÆµÄºËÐÄ˼Ï룬²¢ÇÒÀý¾ÙÁËʹÓÃÀàÄ£ÐÍÀ´Ìæ´úifºÍswitchµÄÒ»ÖÖ½ÏΪµäÐ͵ÄÇé¿ö¡£ÏÂÃæÏëÀ´Ì¸Ì¸C++ÔÚ±àÂë·½ÃæµÄÌØµã¡£
ÔںܶྵäµÄC++½Ì³ÌÖж¼ÓÐÒ»¸ö½¨Ò飺Ӧ¾¡Á¿Ê¹Óû§´úÂ루¿âµÄʹÓÃÕߣ©¿´ÆðÀ´¶ÌС¶ø¼òµ¥¡£°´ÕÕ³£Ê¶£¬¼òµ¥µÄ´úÂëͨ³£Òª±È´ó¶ÎµÄ´úÂëºÃÀí½â£¬¶øÓû§´úÂëͨ³£ÊµÏÖµÄÊÇ×îÉϲãµÄ¹¦ÄÜ»òÕ ......
¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
  ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst &n ......