- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 走进Linux操作系统
走进Linux 操作系统摘要:本期涉猎了操作系统的来龙去脉后与大家携手步入Linux世界。我们力图展示给大家一幅Linux系统的全景图,并为了加深对Linux系统的全面认知,亲手搭建了一个能运行在内存中的试验系统。同时为大家提供了几个shell脚本帮助建立试验系统。操作系统——最熟悉的陌生人用萧亚轩的一首歌形容操作系统给我们的感觉再合适不过了,“最熟悉的陌生人”。说熟悉,因为几乎每
2006-02-28 23:53:00
1710
原创 如何实现一个文件系统
如何实现一个文件系统摘要本章目的是分析在Linux系统中如何实现新的文件系统。在介绍文件系统具体实现前先介绍文件系统的概念和作用,抽象出了文件系统概念模型。熟悉文件系统的内涵后,我们再近一步讨论Linux系统中和文件系统的特殊风格和具体文件系统在Linux中组成结构,逐步为读者勾画出Linux中文件系统工作的全景图。最后在事例部分,我们将以romfs文件系统作实例分析实现文件系统的普遍
2006-02-28 23:49:00
2399
1
翻译 Google文件系统
Google文件系统GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。 1、设计概览 (1)设计想定GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想。这就需要
2006-02-28 23:42:00
1583
1
原创 Unix/Linux下C/C++开发技术概览(下)
2. 基本开发流程在Unix下开发程序,不同于在Windows下开发,除了上面介绍的程序级的差别外,开发环境也有很大的差别。在Windows下面,大都使用集成开发环境进行开发,如MS Visual C++、Borland C++ Builder等。在Unix下面也有集成开发环境,如Sun 的Workshop、Linux下的KDevelop等,但是因为很多Unix开发都是移植,即现在Window
2006-01-17 18:03:00
3858
原创 Unix/Linux下C/C++开发技术概览(上)
1. 平台差异简介Windows和Unix是当前两大主流操作系统平台,基于C/C++的开发人员经常会面临这两个平台之间的移植的问题。Unix作为一个开发式的系统,其下有出现了很多个分支,包括Sun的Solaris、IBM的AIX、HP Unix、SCO Unix、Free BSD、苹果的MAC OS以及开源的Linux等。对于这些Unix的分支操作系统,其实现又有很大的差别,因此开发人员又要针
2006-01-17 18:02:00
2946
1
原创 GCC
在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通
2006-01-17 17:42:00
1543
1
原创 Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊
2006-01-17 17:32:00
1461
原创 Select()系统调用及文件描述符集fd_set的应用
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。 select()的调用形式为: #include #include int select(int maxfd, fd_set *readfds, fd
2006-01-17 15:38:00
1881
原创 OpenGL教程之碰撞检测与模型运动
Jeff Molofee(NeHe)的OpenGL教程- 碰撞检测与模型运动原 文:Lesson 31: Collision Detection and Physically Based Modeling Tutorial译 者:Wguzgg 下面我们要讨论的是如何快速有效的检测物体的碰撞和合乎物理法则的物体运动,先看一下我们要学的: 1)碰撞检测 ·移动的范围 — 平面 ·移动的范围
2006-01-16 11:49:00
6654
1
原创 OpenGL教程之二次曲面
Jeff Molofee(NeHe)的OpenGL教程- 二次曲面原 文:Lesson 18: Quadrics译 者:sakura 二次曲面是一种画复合对象的方法,这种方法通常并不需要很多的三角形。我们将要使用第七课的代码。我们将要增加7个变量以及修改纹理以增加一些变化 : #include // Header File For Windows #incl
2006-01-16 11:44:00
3328
原创 OpenGL教程之看起来很棒的雾
Jeff Molofee(NeHe)的OpenGL教程- 看起来很棒的雾原 文:Lesson 16: Cool Looking Fog译 者:sakura 难道你不想把“雾”加入到你的OpenGL程序中吗?那么在这课里我将要为您展现如何实现这项功能。这是我第一次写教程,而且相对来说我也是OpenGL/C++程序设计新手,所以如果您发现有什么错误的话,请让我知道。这课的代码是基于第7课的。
2006-01-16 11:42:00
3220
1
原创 OpenGL教程之显示列表
Jeff Molofee(NeHe)的OpenGL教程- 显示列表 原 文:Lesson 12: Display Lists 译 者:Marhoo 这次我将教你如何使用显示列表,显示列表将加快程序的速度,而且可以减少代码的长度。 当你在制作游戏里的小行星场景时,每一层上至少需要两个行星,你可以用OpenGL中的多边形来构造每一个行星。聪明点的做法是做一个循环,每个循环画出行星的一个面,
2006-01-16 11:39:00
2364
原创 OpenGL教程之飘动的旗
Jeff Molofee(NeHe)的OpenGL教程- 飘动的旗原 文:Lesson 11: OpenGL Flag Effect译 者:CKER 大家好!对那些想知道我在这里作了些什么的朋友,您可以先按文章的末尾所列出的链接,下载我那毫无意义的演示(Demo)看看先!我是bosco,我将尽我所能教您来实现一个以正弦波方式运动的图象。这一课基于NeHe的教程第六课,当然您至少也应该学会了一
2006-01-16 11:38:00
2649
原创 OpenGL教程之漫游3D世界
Jeff Molofee(NeHe)的OpenGL教程- 漫游3D世界原 文:Lesson 10: Loading And Moving Through A 3D World译 者:CKER 这一课是由Lionel Brits(βtelgeuse)所写的。在本课中我们只对增加的代码做解释。当然只添加课程中所写的代码,程序是不会运行的。如果您有兴趣知道下面的每一行代码是如何运行的话,请下载完整
2006-01-16 11:30:00
3325
1
原创 OpenGL教程之漂亮的星星
Jeff Molofee(NeHe)的OpenGL教程- 漂亮的星星原 文:Lesson 9: Moving Bitmaps In 3D Space作 者:CKER 欢迎进入第九课。到现在为止,您应该很好的理解OpenGL了。您已经学会了设置一个OpenGL窗口的每个细节。学会在旋转的物体上贴图并打上光线以及混色(透明)处理。这一课应该算是第一课中级教程。您将学到如下的知识:在3D场景中移动
2006-01-16 11:24:00
3089
原创 OpenGL教程之Alpha混合
Jeff Molofee(NeHe)的OpenGL教程- Alpha混合 原 文:Lesson 8: Blending 译 者:CKER OpenGL中的绝大多数特效都与某些类型的(色彩)混合有关。混色的定义为,将某个象素的颜色和已绘制在屏幕上与其对应的象素颜色相互结合。至于如何结合这两个颜色则依赖于颜色的alpha通道的分量值,以及/或者所使用的混色函数。Alpha通常是位于颜色值末尾的第
2006-01-16 11:21:00
4312
原创 OpenGL教程之纹理滤波方式
Jeff Molofee(NeHe)的OpenGL教程- 纹理滤波方式原 文:Lesson 7: Texture Filters, Lighting & Keyboard Control译 者:CKER 这一课我会教您如何使用三种不同的纹理滤波方式。教您如何使用键盘来移动场景中的对象,还会教您在OpenGL场景中应用简单的光照。这一课包含了很多内容,如果您对前面的课程有疑问的话,先回头复习一
2006-01-16 11:20:00
3586
原创 OpenGL教程之纹理映射
Jeff Molofee(NeHe)的OpenGL教程- 纹理映射原 文:Lesson 6: Texture Mapping译 者:CKER 学习Texture Map纹理映射(贴图)有很多好处。比方说您想让一颗导弹飞过屏幕。根据前几课的知识,我们最可行的办法可能是很多个多边形来构建导弹的轮廓并加上有趣的颜色。使用纹理映射,您可以使用真实的导弹图像并让它飞过屏幕。您觉得哪个更好看?照片还是一
2006-01-16 11:16:00
5075
1
原创 OpenGL教程之向3D进军
Jeff Molofee(NeHe)的OpenGL教程- 向3D进军 原 文:Lesson 5: Solid Objects 译 者:CKER 在上节课的内容上作些扩展,我们现在开始生成真正的3D对象,而不是象前两节课中那样3D世界中的2D对象。我们给三角形增加一个左侧面,一个右侧面,一个后侧面来生成一个金字塔(四棱锥)。给正方形增加左、右、上、下及背面生成一个立方体。 我们混合金字塔
2006-01-16 11:07:00
3296
原创 OpenGL教程之旋转
Jeff Molofee(NeHe)的OpenGL教程- 旋转原 文:Lesson 4: Rotation译 者:CKER 上一课中我教给您三角形和四边形的着色。这一课我将教您如何将这些彩色对象绕着坐标轴旋转。 其实只需在上节课的代码上增加几行就可以了。下面我将整个例程重写一遍。方便您知道增加了什么,修改了什么。我们增加两个变量来控制这两个对象的旋转。这两个变量加在程序的开始处其他变量的后
2006-01-16 10:58:00
6990
1
原创 OpenGL教程之着色
Jeff Molofee(NeHe)的OpenGL教程- 着色原 文:Lesson 3: Colors译 者:CKER 上一课中我教给您三角形和四边形的绘制方法。这一课我将教您给三角形和四边形添加2种不同类型的着色方法。使用单调着色(Flat coloring)给四边形涂上固定的一种颜色。使用平滑着色(Smooth coloring)将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色彩混合
2006-01-16 10:56:00
3694
2
原创 OpenGL教程之第一个多边形
Jeff Molofee(NeHe)的OpenGL教程- 第一个多边形原 文:Lesson 2: Your First Polygon译 者:CKER 第一课中,我教您如何创建一个OpenGL窗口。这一课中,我将教您如何创建三角形和四边形。我们讲使用来创建GL_TRIANGLES一个三角形,GL_QUADS来创建一个四边形。 在第一课代码的基础上,我们只需在DrawGLScene()过程
2006-01-16 10:54:00
6496
3
原创 OpenGL教程之新手上路
Jeff Molofee(NeHe)的OpenGL教程- 新手上路译者的话:NeHe的教程一共有30多课,内容翔实,并且不断更新 。国内的网站实在应该向他们学习。令人惊讶的是,NeHe提供的例程源码几乎都有跨平台的不同编译版本,涉及从Visual C++、Borland C++、Visual Basic、MacOS X/GLUT、Linux/GLX、Code Warrior、Delphi、C+
2006-01-16 10:48:00
45312
19
原创 Linux下的库
在linux上编程时,很多时候会用到一些非标准的库(即自己装上去的库),这些非标准的库安装位置可能不尽相同,这就给我们编写程序时带来了麻烦。1。头文件的位置gcc默认会在/usr/include目录下寻找头文件,这是标准库的头文件的路径,但非标准的库一般不会把头文件直接放在该目录下,一般的作法是在该目录下创建一个自己的目录,然后在此目录下直接或分门别类(即再创建更深层次的目录,gtk+即一例证)放
2006-01-10 21:58:00
1707
1
原创 vi使用手册
进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filen
2006-01-10 21:29:00
697
原创 GDB的使用方法
GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下
2006-01-10 11:29:00
644
原创 GNU Automake 详解
GNU AutomakeFor version 1.3, 3 April 1998David MacKenzie and Tom Tromey目录介绍 通用性概念 通用操作 深度 严格性 统一命名机制 派生变量是如何命名的 一些实例软件包 一个简单的例子,从起点到终点 一个经典的程序 创建etags和ctags 创建`Makefile.in 扫描`configure.in 配置需求 Autom
2006-01-10 11:12:00
1378
原创 Unix编程常见问题解答
关于这篇“常见问题解答”************************这篇“常见问题解答” 由Patrick Horgan自一九九六年五月开始起草;因其历经数月未复更新,我从而接手编辑。我已经将其内容稍做重新安排并加入一些新的内容;我仍然认为它仍处于“有待开发建设”中。请将批评,建议,增补,更正或其它意见发给维护者,电子邮件地址:andrew@erlenstar.demon.co.uk这篇文档的
2006-01-04 21:13:00
1107
原创 Autoconf 详解
AutoconfCreating Automatic Configuration ScriptsEdition 2.13, for Autoconf version 2.13December 1998by David MacKenzie and Ben Elliston目录介绍 创建configure脚本 编写`configure.in 用autoscan创建`configure.in 用if
2006-01-04 20:33:00
2438
原创 自动生成Linux下Makefile全攻略(下)
下面再来看看多个源文件的例子。 如何写用code1.c, code2.c生成 prog1的configure.in和Makefile.am。首先建立一个项目文件夹testproj。在testproj下建立dir1目录。 [kang@node16 kang]$ mkdir testproj [kang@node16 kang]$ mkdir dir1 然后在di
2006-01-04 20:00:00
1507
原创 自动生成Linux下Makefile全攻略(上)
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,
2006-01-04 11:41:00
3445
原创 使用make更新函数库文件
使用make更新函数库文件———————————函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。一、函数库文件的成员一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成: archive(member)这个不是一个命令,而一个目标和依赖的定义。一般来说,这种用法基本上就是为了"ar"命令来服务的。如:
2005-12-31 15:44:00
754
原创 Makefile隐含规则
隐含规则————在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。“隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那怕我们的Makefile中没
2005-12-31 15:37:00
1072
原创 make 的运行
make 的运行——————一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。一、make的退出码make命令执行后有三个退出码: 0 —— 表示成功执
2005-12-31 15:36:00
638
原创 Makefile函数使用
使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $( )或是 ${ }这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗号“,”分
2005-12-31 15:33:00
3030
原创 Makefile书写规则与书写命令
书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最
2005-12-31 15:06:00
781
原创 Makefile总述
Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefi
2005-12-31 15:04:00
657
原创 Makefile概述
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefil
2005-12-31 14:52:00
590
基础算法教案.doc
2008-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人