Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 0.11 ÄÚºËѧϰ main.c£¬µ÷Óú¯Êý¶øÒÑ¡£

µ½ÁËmain.c£¬Æäʵmain.cÖеĴ󲿷ֵÄÄÚÈÝÊǵ÷Óú¯ÊýÀ´ÊµÏÖ³õʼ»¯µÄ¹¤×÷£¬µ«ÊÇ»¹Êǽ«Ëü¿´ÍêÁË¡£ÏÂÃæ¾ÍÊÇ´úÂëÁË¡£Ö÷Òª²Î¿¼µÄÊÇlinuxÄÚºËÍêȫעÊÍ£¬ÔÚһЩ²»Ì«Ã÷°×µÄµØ·½£¬²Î¿¼ÍøÉϵĽéÉÜ¡£·Ï»°ÉÙ˵¡£»¹Óкܳ¤µÄ·°¡¡£Å¬Á¦°¡O(∩_∩)O~¡£
/*
 * main.c¹¦ÄÜÃèÊö¡£
 */
//main.c³ÌÐòµÄÖ÷Òª¹¦ÄÜÊÇÀûÓÃsetup.s³ÌÐòÈ¡µÃµÄϵͳ²ÎÊýÉèÖÃϵͳµÄ
// µÄ¸ùÎļþÉ豸ºÅºÍһЩȫ¾Ö±äÁ¿¡£ÕâЩ±äÁ¿ÖÁÁ½ÃûÁËÄÚ´æµÄ¿ªÊ¼µØÖ·
// ϵͳ°üº¬µÄÄÚ´æÈÝÁ¿ºÍ×÷Ϊ¸ßËÙ»º´æÇøÄÚ´æÄ©¶ËµØÖ·¡£Èç¹û»¹¶¨ÒåÁË
// ÐéÄâÅÌ£¬ÔòÖ÷´æ½«»áÏàÓ¦µÄ¼õÉÙ¡£Õû¸öÄÚ´æµÄ¾µÏñÈçÏ :
//
// -------------------------------------------
// | kernel¡¡| buffer | ramdisk | main memory |
// -------------------------------------------
//
// ¸ßËÙ»º´æ²¿·Ö»¹Òª¿Û³ýÏÔ´æºÍrom biosÕ¼ÓõIJ¿·Ö¡£¸ßËÙ»º³åÇøÖ÷Òª
// ÊÇ´ÅÅ̵ÈÉ豸µÄÁÙʱ´æ·ÅÊý¾ÝµÄ³¡Ëù¡£Ö÷´æµÄÇøÓòÖ÷ÒªÊÇÓÉÄÚ´æ¹ÜÀí
// Ä£¿émmͨ¹ý·ÖÒ³»úÖÆ½øÐÐÄÚ´æµÄ¹ÜÀí·ÖÅ䣬ÒÔ4k×Ö½ÚΪһ¸öÒ³µ¥Î»¡£
// Äں˳ÌÐò¿ÉÒÔÖ±½Ó·ÃÎÊ×ÔÓɵĸßËÙ»º³åÇø£¬µ«ÊǶÔÓÚÒ³ÃæµÄ·ÃÎÊ£¬Ôò
// ÐèҪͨ¹ýmmÄ£¿é²ÅÄÜʵÏÖ½«Æä·ÖÅäµ½ÄÚ´æÒ³Ãæ¡£
//
// È»ºóÄں˽øÐÐËùÓз½ÃæµÄÓ²¼þ³õʼ»¯¹¤×÷¡£ÉèÖÃÏÝÚåÃÅ£¬¿éÉ豸£¬×Ö·ûÉ豸
// ºÍtty£¬°üÀ¨È˹¤´´½¨µÄµÚÒ»¸öÈÎÎñtask 0.´ýËùÓеÄÉèÖù¤×÷Íê³Éʱ£¬¿ªÆô
// Öжϡ£ÔÚÔĶÁÕâЩ³õʼ»¯³ÌÐòʱ×îºÃ¸ú×ÅÕâЩ±»µ÷Óú¯ÊýÉîÈë¿´ÏÂÈ¥¡£
//
// Õû¸öÄں˵ijõʼ»¯Íê³Éºó£¬Äں˽«Ö´ÐÐȨÏÞÇл»µ½Óû§Ä£Ê½£¬¼´ÊÇcpu´Ó
// 0ÌØÈ¨¼¶Çл»µ½3ÌØÈ¨¼¶¡£È»ºóϵͳµÚÒ»´Îµ÷Óú¯Êýfork£¬´´½¨³öµÚÒ»¸öÓÃÓÚ
// ÔËÐеÄinit×Ó³ÌÐò¡£
//
// Ôڸýø³ÌÖÐϵͳ½«ÔËÐпØÖÆÌ¨³ÌÐò¡£Èç¹û¿ØÖÆÌ¨»·¾³¼àÀí³É¹¦£¬ÔòÔÚÉú³ÉÒ»
// ¸ö×Ó½ø³Ì£¬ÓÃÓÚÔËÐÐ/bin/sh.
//
// ¶ÔÓÚlinux¶øÑÔ£¬ËùÓеÄÈÎÎñ¶¼ÊÇÔÚÓû§Ä£Ê½ÏÂÔËÐеġ£°üÀ¨ºÜ¶àϵͳӦÓÃ
// ³ÌÐò£¬ÈëShell³ÌÐò£¬ÍøÂç×Ó³ÌÐòϵͳ¡£
/*
 *  linux/init/main.c
 *
 *  (C) 1991  Linus Torvalds
 */
#define __LIBRARY__    // ÔÚunistd.hÖÐʹÓÃÁËÈçϵÄÔ¤´¦ÀíÃüÁ#ifdef __LIBRARY__£¬
        // ËùÒÔÕâÀï°üº¬Õâ¸ö¶¨Òå¡£
#include <unistd.h>   
#include <time.h>    // ʱ¼äÀàÐ͵ÄÍ·Îļþ¡£ÆäÖÐ×îÖ÷ÒªµÄÊÇtm
  &nb


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

LinuxÄÚºËÊý¾Ý½á¹¹

1.1.Á´±ílist_head
    include/linux/list.h
    ºÜ¾­µä£¬Á´±íÔÚÄÚºËÖкܳ£Óã¬ÀýÈç¹ÜÀí½ø³Ì£¬½ø³ÌµÄ¸÷¸ö״̬¶ÓÁж¼ÊÇʹÓÃÕâ¸öË«ÏòÁ´±íʵÏֵġ£ÄÚºËÖеÄÁ´±í¶¨Òå³ÉºÍÊý¾ÝÎ޹صÄÐÎʽ£¬¶ø²»ÊÇͨ³£ÎÒÃÇʹÓõÄÁ´±í¸ñʽ£¬ÀýÈç
typedef struct _list{
    Elemtype elem;
&nb ......

linux½Å±¾(shell)±à³Ì

http://blog.csdn.net/compiler_hdz/archive/2006/01/10/575113.aspx
ÏÈ¿´Ò»¸ö“hello world!”µÄÀý×Ó£º
 ÔÚij¸öĿ¼ÏÂн¨Ò»¸öÎļþ£¬½Ðhello.sh£¬ÇÃÈëÒÔÏ´úÂ룺
#!/bin/sh
echo "hello world!"
 ºÃ£¬¾ÍÕâЩ¡£±£´æ£¬ÔÚÃüÁîÌáʾ·ûϽøÈë±£´æ“hello.sh”µÄĿ¼£¬ÕâÑùÖ´ÐУº
......

ÈçºÎÀí½âC run time library £¨CÔËÐÐʱ¿â£©

1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C
ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£¬Êý¾ÝÀàÐ͵ȣ©£»ËùÒÔ£¬C ÓïÑÔÄں˿ª·¢³öÀ´Ö®ºó£¬Dennis
Ritchie ºÍ Brian Kernighan ¾ÍÓà C ± ......

C ×Ö·û´®º¯Êý´óÈ«

º¯ÊýÃû: stpcpy
¹¦ ÄÜ: ¿½±´Ò»¸ö×Ö·û´®µ½ÁíÒ»¸ö
ÓÃ ·¨: char *stpcpy(char *destin, char *source);
³ÌÐòÀý:
#include <stdio.h>
#include <string.h>
int main(void)
{
   char string[10];
   char *str1 = "abcdefghi";
   stpcpy(string, str1);
 & ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ