03 2013 档案

摘要:概念理解Linux下的五种IO模型阻塞IO模型非阻塞IO模型IO复用模型信号驱动IO异步IO模型5个IO模型的比较selectpollepoll简介socket阻塞与非阻塞,同步与异步一. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事异步:异步的概念和同步相对。 阅读全文
posted @ 2013-03-26 21:16 孤独剑客zzy 阅读(189) 评论(0) 推荐(0) 编辑
摘要:GCC不用说,C语言的编译器。NASM是一个x86的汇编器,用来编译汇编的。最近在研究GCC和NASM联合编译,为什么要研究二者的联合编译呢?GCC中能嵌套汇编代码啊?这是因为GCC中嵌套的汇编代码是AT&T的汇编代码不是Interl的。其语法格式实在是太复杂了,不是适合初学者(其实是我不会其语法)。下面我们结合一个例子来将二者如何联合使用。1.建立示例工程示例工程很简单,就下面三个文件:工程代码main.c---C代码hello.asm---汇编代码Makefile---编译命令其中Makefile的内容如下:Java代码all:nasm-felfhello.asm-ohello.o 阅读全文
posted @ 2013-03-25 21:49 孤独剑客zzy 阅读(2077) 评论(0) 推荐(0) 编辑
摘要:转自:http://docs.huihoo.com/gnu_linux/own_os/preparing-asm_3.htm0.3.1 Overview开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。如果你是计算机专业的话,在大学里你应该学习过Intel格式的8086/80386汇编,这里就不再讨论。如果我们选择的OS开发工具是GCC以及GAS 阅读全文
posted @ 2013-03-25 21:47 孤独剑客zzy 阅读(292) 评论(0) 推荐(0) 编辑
摘要:在介绍图象的压缩编码之前,先考虑一个问题:为什么要压缩?其实这个问题不用我回答,你也能想得到。因为图象信息的数据量实在是太惊人了。举一个例子就明白了,一张A4(210mm*297mm) 幅面的照片,若用中等分辨率(300dpi)的扫描仪按真彩扫描,其数据量为多少?让我们来计算一下:共有(300*210/25.4)*(300*297/25.4)个像素,每个像素占3个字节,其数据量为26M字节,其数据量之大可见一斑了。如今在Internet上,传统基于字符界面的应用逐渐被能够浏览图象信息的WWW(World Wide Web)方式所取代。WWW尽管漂亮,但是也带来了一个问题:图象信息的数据量太.. 阅读全文
posted @ 2013-03-25 16:26 孤独剑客zzy 阅读(4118) 评论(0) 推荐(0) 编辑
摘要:今天修改代码的时候,VS 10编译器突然不能工作了,当时我打开了两个sln,一个正常,另一个一直出现弹窗:“Microsoft (R) Visual C++ Package Server 遇到问题需要关闭。我们对此引起的不便表示抱歉。”然后有两个按钮,一个是关闭,点击关闭之后,间隔不到一分钟重新弹出,一直关闭不了。另一个是调试,调试可以选择在当前窗口调试,也可以重新打开一个VS 调试,调试在一个windows句柄出break掉,无法继续。 这个问题困扰了好久,一直弹出不能工作对话框,影响工作,但是程序的编译和运行是正确的,只是经常被打断。 google了好多,没有找到相关的资料,后来在... 阅读全文
posted @ 2013-03-18 19:28 孤独剑客zzy 阅读(860) 评论(0) 推荐(0) 编辑