自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 TCP打洞

TCP打洞

2009-01-10 10:27:00 775

原创 win32 双缓存

基本代码: INT i; PAINTSTRUCT ps; HDC   hdc, hdcMem,hdcMemCopy; HBITMAP  hBmp, hBmpOld,hBmpCopy,hBmpCopyOld; HFONT   hFont,hOldFont; POINT  pt; hdc = BeginPaint(hWnd, &ps);  hdcMem = CreateCompatibleDC

2008-09-22 11:26:00 1495 1

原创 开源

      开源:里面有一种很开放的思想与理念,技术与非物质的理想的结合,值的自己在这个年龄段的时候去付出!

2008-05-19 02:05:00 630

转载 系统启动bootsect.s linux

一般pc在电源一开时,是由内存中地址ffff:0000开始执行(这个地址一定在rom bios中,rom bios一般是在feoooh到fffffh中),而此处的内容则是一个jump指令,jump到另一个位於rom bios中的位置,开始执行一系列的动作,包括了检查ram,keyboard,显示器,软硬磁盘等等,这些动作是由系统测试代码 (post,system test code)来执行

2008-03-07 16:01:00 1048

转载 at&t汇编语言

编辑GAS中每个操作都是有一个字符的后缀,表明操作数的大小。 C声明 GAS后缀 大小(字节)

2008-03-07 11:31:00 1328

转载 linux 文件 Cache 管理

4 、文件Cache的预读和替换  Linux内核中文件预读算法的具体过程是这样的:对于每个文件的第一个读请求,系统读入所请求的页面并读入紧随其后的少数几个页面(不少于一个页面,通常是三个页面),这时的预读称为同步预读。对于第二次读请求,如果所读页面不在Cache中,即不在前次预读的group中,则表明文件访问不是顺序访问,系统继续采用同步预读;如果所读页面在Cache中,则表明前次预读命中,

2008-02-29 21:21:00 1693

转载 linux 文件 Cache 管理

3 、文件 Cache 相关数据结构  在 Linux 的实现中,文件 Cache 分为两个层面,一是 Page Cache,另一个 Buffer Cache,每一个 Page Cache 包含若干 Buffer Cache。内存管理系统和 VFS 只与 Page Cache 交互,内存管理系统负责维护每项 Page Cache 的分配和回收,同时在使用 memory map 方式访问时负责建

2008-02-29 21:20:00 1280

转载 linux 文件 Cache 管理

1 、前言  自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使用得非常广泛,它与 Windows、UNIX 一起占据了操作系统领域几乎所有的市场份额。特别是在高性能计算领域,Linux 已经成为一个占主导地位的操作系统,在2005年6月全球TOP500 计算机中,有 301 台部署的是 Linux 操作系统。因此,研究和使用 Linux 已经成为开发者的不可

2008-02-29 21:17:00 917

转载 kmalloc VS kmem_cache_alloc

kmalloc VS kmem_cache_alloc

2008-02-29 19:13:00 7115

转载 原子操作

Linux内核的同步机制:原子操作原子操作:UP和SMP的异同原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是"原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源互斥的原因。但是,在对称多处理器(Symetr

2008-02-29 14:33:00 776

原创 linux进程管理

switch(){}

2008-02-29 12:19:00 532

转载 linux内核进程

                                                                       Linux内核中的同步和互斥  先看进程间的互斥。在linux内核中主要通过semaphore机制和spin_lock机制实现。主要的区别是在semaphore机制中,进不了临界区时会进行进程的切换,而spin_lock刚执行忙等(在SMP中)。先看内核

2008-02-29 12:17:00 852

转载 linux源码阅读

Spin lock 技术在Linux的内核中,spin lock用在多处理器环境中。当一个CPU访问一个临界资源(critical section)的时候,需要预先取得spin lock,如果取不到的话,它就在空循环等待,直到另外的CPU释放spin lock。由于涉及到多个处理器,spin lock的效率非常重要。因为在等待spin lock的过程,处理器只是不停的循环检查,并不执行其他指令

2008-02-29 10:01:00 1495 2

转载 编译工具和交叉编译环境配置-基本问题和认识

编译工具和交叉编译环境配置-基本问题和认识

2008-02-26 16:28:00 2412

转载 romfs文件系统注释

 编辑 删除 var btns = document.getElementById("edit_delete_btns"); if(relation == MopBlog.User.RELATION_SAMER){ btns.style.display = "block"; }else{ btns.style.di

2008-02-20 18:55:00 1623

原创 开始编译 linux内核

 

2008-02-19 10:28:00 611

原创 嵌入式开发网站资料

http://www.cevx.com/index.asp http://www.21control.com/

2008-02-18 09:39:00 614

转载 vc 开发(5)

(1)在所检测的程序段开始处建立一个CMemoryState对象,调用其成员函数Checkpoint,以取得当前内存使用情况的映射;(2)在所检测的程序段的末尾处再建立一个CMemoryState对象,调用其成员函数Checkpoint,以取得当前内存使用情况的映射;(2)再建立第3个CmemoryState对象,调用其成员函数Difference,把第一个CmemoryState对象和第二个Cm

2008-02-02 09:31:00 558

原创 帮同事写的一个C

/* Note:Your choice is C IDE */#include #include #include #include #include #include #include /*#include */struct RMfileName{ char *filename; struct RMfileName *pNext;};struct RMFileList{ struct RMfil

2008-01-29 00:09:00 539

转载 vc 线程

线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完后再执行。在多处理器的机器上,调度程序可将多个线程放到不同的处理器上去运行,这样

2008-01-22 18:11:00 1253

转载 vmwera里安装linux设置上网

第一种情况:主机使用PPPOE拨号上网方法一:NAT方式1、先关闭虚拟机中的操作系统,回到虚拟机主界面双击主界面右上方的的“Ethernet”,弹出“Network Adapter”对话框,选择“NAT”2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。方法二:Host-only方式1、先关

2008-01-22 11:56:00 1096

原创 vc多线程开发(1)

 以前做多线程,考虑的确太过与简单,这次决定好好规划一下:1 基本的API函数 : _AfxbigenThreadex(); 里面有几个,参数: 2 线程间的通讯:1 )消息方式:  ::PostThreadMessage(m_ManagerThread.m_VecThread[0].m_Thread.T_dwThreadId,WM_Thread,1,1);m_ManagerThrea

2008-01-21 18:03:00 660

转载 vc 开发(4)

1. 窗口最大化、最小化的实现当我们不能用标题栏的最大化、最小化及恢复按钮而又需在其他的地方实现这些功能,可以在指定的消息处理函数里添加:WINDOWPLACEMENT wndpl;WINDOWPLACEMENT *pwndpl;pwndpl = &wndpl;GetWindowPlacement(pwndpl);pwndpl->showCmd = SW_SHOWMINMI

2008-01-18 11:04:00 694

转载 vc 开发(4)用CRegKey类来操作注册表

如何用CRegKey类来操作注册表 用CRegKey类来操作注册表是非常方便的。CRegKey类并不是一个MFC类,而是一个ATL类,所以在使用的时候不要忘记在StdAfx.h头文件中加入#include 。 1.打开

2008-01-18 10:10:00 1083

原创 消息的创建发送和接收

在操作系统消息部分的比较经典的问题之一就是“消息的创建发送和接收”对于该问题完成并不难,我们使用消息调用msgget msgsnd msggrev msgctrl 编制长度为1K 的消息的发送和接收程序,从而完成我们的问题。 在操作系统消息部分的比较经典的问题之一就是“消息的创建发送和接收”对于该问题完成并不难,我们使用消息调用msgget msgsnd msggrev msgctrl 编制长度为

2008-01-17 20:07:00 2648

转载 vc 开发(3) 程序开机启动

方法一:         利用WIN.INI文件实现相关程序的自动启动。         通过WritePrivateProfileString函数来实现。         代码如下:         void     CAutoRunDlg::OnApply()         //假设本问题的对应工程为AutoRun         {         //更新数据              

2008-01-17 19:49:00 724

转载 vc ado 开发(2)

一、隐藏和显示光标  函数: int ShowCursor ( BOOL bShow );   参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标;该函数的返回值为整型,为鼠标隐藏或显示的指数器;返回值大于等于0时显示光标,否则隐藏鼠标;如果安装了鼠标初值为0。  实例:  在基于对话框的应用程序中放置两个Button,名称分别为HideCurs

2008-01-17 19:48:00 487

转载 VC中的常用的20个方

正在处理中,请稍后…… 一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",

2008-01-17 17:55:00 708

原创 vc小技巧(1)--最小化到任务栏显示

1 void CMFCTestDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) {  CAboutDlg dlgAbout;  dlgAbout.DoModal(); } else {//  if (nID==SC_MINIMIZE)   {    ShowWindow(SW_HIDE

2008-01-17 15:38:00 856

转载 数据库开发(2)

#if !defined(AFX_GlobalFuntion_H__26B3816F_5D75_4DF4_BAD6_79DEB8624CAC__INCLUDED_)#define AFX_GlobalFuntion_H__26B3816F_5D75_4DF4_BAD6_79DEB8624CAC__INCLUDED_#include "ListReport.h"#if _MSC_VER > 1000

2008-01-16 14:32:00 904

转载 数据库开发(1)

// void smsLogon::InitSQLServer(CString server, CString db, CString UserName, CString Pwd)//{// CString server,db, UserName,  Pwd;// server="192.168.0.245";// db="tps";// UserName="sa";// Pwd="SOFTroo

2008-01-16 14:30:00 614

转载 可执行文件分析(4)

对一个ELF可执行程序而言,一个基本的段是标记p_type为PT_INTERP的段,它表明了运行此程序所需要的程序解释器(/lib/ld- linux.so.2),实际上也就是动态连接器(dynamic linker)。最重要的段是标记p_type为PT_LOAD的段,它表明了为运行程序而需要加载到内存的数据。查看上面实际输入,可以看见有两个可 LOAD段,第一个为只读可执行(FLg为R E),第

2008-01-04 13:56:00 523

转载 优化 DLL 加载时间性能

优化 DLL 加载时间性能 发布日期: 7/28/2004 | 更新日期: 7/28/2004Matt Pietrek 请下载本文的代码: UnderTheHood0500.exe (264KB)近年来,在我的专栏文章和技术讲座中,其中一个主要主题一直是优化可执行文件技术的优点。 通常,优化技术指的是确定基址和绑定,但可能还包括按序号导入函数或更改可执行文件页面对齐。 从直

2008-01-04 13:56:00 1521 1

转载 可执行文件分析(3)

 段由若干个节(Section)构成,节头表对每一个节的信息有相关描述。对可执行程序而言,节头表是可选的。参考资料 1中作者谈到把节头表的所有数据全部设置为0,程序也能正确运行!ELF头部是一个关于本文件的路线图(road map),从总体上描述文件的结构。下面是ELF头部的数据结构: typedef struct{unsigne

2008-01-04 13:55:00 574

原创 可执行文件分析(2)

COFF 文件格式分析  COFF 格式比 a.out 格式要复杂一些,最重要的是包含一个节段表(section table),因此除了 .text,.data,和 .bss 区段以外,还可以包含其它的区段。另外也多了一个可选的头部,不同的操作系统可一对此头部做特定的定义。  COFF 文件格式如下:

2008-01-04 13:53:00 637

转载 可执行文件分析

相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者。可执行文件的大小、运行速度、资源占用情况以及可扩展性、可移植性等与文件格式的定义和文件加载过程紧密相关。    研究可执行文件的格式对编写高性能程序和一些黑客技术的运用都是非常有意义的。   不管何种可执行文件格式,一些基本的要素是必须的,显而易见的,文件中应包含代码和数据。因为文件可能引用外部

2008-01-04 13:47:00 771

原创 c与汇编的确混合编程

主要有以下情况:1 嵌入式,就是在c语言里面添加,汇编语言源代码.2 在汇编里面调用c语言的函数与变量.3 在c语言里调用汇编函数与变量.

2007-12-29 09:58:00 584

原创 操作系统---环境设置(续1)

在搭建好bochs后,还有几个工具要下载:1 一个是汇编语言的编译器:我采用的是nasm,习惯用masm可以下载masm2 c语言编译器;3 写映像文件的工具。我用的是UltraEdit 。

2007-12-26 13:57:00 466

原创 操作系统开发--环境设置(bochs,x86)

      在xp下安装于配置bochs。1 下载bochs  www.//bochs.soucerforge.net.,解压缩 安装。2 打开安装目录下我这里是:C:/Program Files/Bochs-2.3,找到一个bochsrc-sample.txt的文件;找到 :megs 。megs  32表示模拟系统位32m,可以修改,我改为128。当我门要用软盘来做引导盘时,找到flop

2007-12-25 20:18:00 931

原创 加入csdn

大家好,以后就可以向大家请教学习! 

2007-12-17 09:55:00 388

tcpmp源代码学习

tcpmp 源代码 学习资料,有兴趣的一起研究

2009-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除