上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 45 下一页

2011年3月11日

摘要: #define _set_tssldt_desc(n,addr,type) /__asm__ ("movw $104,%1/n/t" / "movw %%ax,%2/n/t" / "rorl $16,%%eax/n/t" / "movb %%al,%3/n/t" / "movb$" type",%4/n/t" / //这里用了$" type",后面用了"0x89"," type "在这里为何要加上双引号?另外type 阅读全文
posted @ 2011-03-11 22:29 yming0221 阅读(292) 评论(0) 推荐(0)
摘要: 函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。例如:#include <stdio.h>int max(int x,int y){ return x>y?x:y;}int min(int x,int y){ return x 阅读全文
posted @ 2011-03-11 21:35 yming0221 阅读(174) 评论(0) 推荐(0)
摘要: 全新整理:微软、谷歌、百度等公司经典面试100题[第1-60题]整理:July、二零一一年三月九日。应网友承诺与要求,全新整理。转载,请注明出处。博主说明:此100题V0.2版,本人不再保证,还会提供答案。因为之前整理的微软100题,已经基本上,把题目都出尽了。见谅。--------------------------------------------微软十五道面试题1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。2、写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)3、... 阅读全文
posted @ 2011-03-11 21:06 yming0221 阅读(170) 评论(0) 推荐(0)
摘要: main.c下时间初始化代码,可以体会到位运算的精简#define CMOS_READ(addr) ({ /outb_p(0x80|addr,0x70); /inb_p(0x71); /})#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)static void time_init(void){ struct tm time; do { time.tm_sec = CMOS_READ(0); time.tm_min = CMOS_READ(2); time.tm_hour = CMOS_READ(4); ti 阅读全文
posted @ 2011-03-11 08:41 yming0221 阅读(192) 评论(0) 推荐(0)

2011年3月10日

摘要: 使用它来画一条直线Ultility.h#ifndef ULTILITY_H_INCLUDED#define ULTILITY_H_INCLUDED#ifdef __APPLE__#include <SDL/SDL.h>#else#include <SDL.h>#endif//init the screenint init(SDL_Surface *&screen,SDL_Surface *&pic,int w,int h);//draw a pixelvoid DrawPixel(SDL_Surface *screen, int x,int y,Uint 阅读全文
posted @ 2011-03-10 13:44 yming0221 阅读(345) 评论(0) 推荐(0)

2011年3月9日

摘要: 1.安装apache2sudo apt-get install apache22.安装lxrglimpsesudoapt-get install lxr下载最新glimpse解压下载地址http://download.csdn.net/detail/yming0221/3076004sh configuremakemake install完成安装3.在/etc/apache2/httpd.conf末尾加上以下内容:Alias /lxr/usr/share/lxr<Directory /usr/share/lxr>Options AllAllow Override All</D 阅读全文
posted @ 2011-03-09 13:42 yming0221 阅读(199) 评论(0) 推荐(0)
摘要: 用ln -s创建了一个软链接,然后去访问软链接,出现如下错误:Too many levels of symbolic links不记得原来的ln命令是什么了,但是如果出现这个错误,多半是之前的ln -s命令时源文件没有使用绝对路径造成的。总结:不管是源文件还是目标文件都使用绝对路径,这个出错的几率就减小了。 阅读全文
posted @ 2011-03-09 12:56 yming0221 阅读(154) 评论(0) 推荐(0)

2011年3月7日

摘要: 函数outb_p(value,port) 位置/include/asm/io.hjmp 1f的含义:延迟两个指令周期,防止数据传输的延迟程序将会向前寻找跳转的标签,并且在下面第一个标签处跳转#define outb_p(value,port) /__asm__ ("outb %%al,%%dx/n" / "/tjmp 1f/n" / "1:/tjmp 1f/n" / "1:"::"a" (value),"d" (port)) 阅读全文
posted @ 2011-03-07 16:50 yming0221 阅读(186) 评论(0) 推荐(0)
摘要: <!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->gcc中的内嵌汇编语言(Inteli386平台)一.声明 虽然Linux的核心代码大部分是用C语言编写的,但是不可避免的其中还是有一部分是用汇编语言写成的。有些汇编语言代码是直接写在汇编源程序中的,特别是Linux的启动代码部分;还有一些则是利用gcc的内嵌汇编语言嵌在C语言程序中的。这篇文章简单介绍了gcc中的内嵌式汇编语言,主要想帮助那些才开始阅读Linux核心代码的朋友们能够更快的入手。 写这篇文章的主要信息来源是GNU的两个info文件:as.in... 阅读全文
posted @ 2011-03-07 15:37 yming0221 阅读(340) 评论(0) 推荐(0)

2011年3月6日

摘要: /init/main.c部分代码void main(void) /* This really IS void, no error here. */{ /* The startup routine assumes (well, ...) this *//* * Interrupts are still disabled. Do necessary setups, then * enable them */ ROOT_DEV = ORIG_ROOT_DEV; drive_info = DRIVE_INFO; memory_end = (1<<20) + (EXT_MEM_K<&l 阅读全文
posted @ 2011-03-06 22:14 yming0221 阅读(306) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 45 下一页

导航