易截截图软件、单文件、免安装、纯绿色、仅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占用的部分。高速缓冲区主要
// 是磁盘等设备的临时存放数据的场所。主存的区域主要是由内存管理
// 模块mm通过分页机制进行内存的管理分配,以4k字节为一个页单位。
// 内核程序可以直接访问自由的高速缓冲区,但是对于页面的访问,则
// 需要通过mm模块才能实现将其分配到内存页面。
//
// 然后内核进行所有方面的硬件初始化工作。设置陷阱门,块设备,字符设备
// 和tty,包括人工创建的第一个任务task 0.待所有的设置工作完成时,开启
// 中断。在阅读这些初始化程序时最好跟着这些被调用函数深入看下去。
//
// 整个内核的初始化完成后,内核将执行权限切换到用户模式,即是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 Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

PHP调用C编程总结(windows)

一.环境的安装
   
    下载安装包,Google上搜索php+apache+sql的安装包并安装。
二.扩展编程
    针对在PHP环境下掉用C编程(c程序编译的dll),主要有以下两种方式。
   
    1.利用ATL构建DLL组件,然后再PHP里面直接调用,调用方法 ......

C打印 大数的 阶乘

 6000甚至10000,都可以,但大于6000,就开始滚屏了。。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int i,j,*f,tmp,c=0;
long int n,bits;
const double PI=2*asin(1.0),E=exp(1.0);
scanf("%ld",&n);
bits=(long)ceil(n*(log10(n)-log ......

C 面试题之找错题


找错题
  试题1:
void test1()
{
 char string[10];
 char* str1 = "0123456789";
 strcpy( string, str1 );
}
  试题2:
void test2()
{
 char string[10], str1[10];
 int i;
 for(i=0; i<10; i++)
 {
  str1[i] = 'a';
 }
 strcpy( string, str1 );
}
  试题3:
void test3( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号