自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wintree的专栏

专注于Linux系统编程,网络编程,高性能服务器技术,c/c++技术学习

  • 博客(66)
  • 资源 (5)
  • 收藏
  • 关注

原创 unix环境高级编程-文件长度与截断

4.12 文件长度stat 的结构成员st_size表示以字节为单位的文件长度。此字段只对普通文件、目录文件和符号链接有意义。对于普通文件,其文件的长度可以是0,在读此文件的时候,将得到文件结束指示。对于目录,文件长度通常是一个数的倍数,对于符号链接,文件长度是文件明中的世界字节数。 现今,大多数UNIX系统提供的字段st_blksize和st_blocks。其中第一个是对

2011-10-21 23:14:53 3564

原创 unix环境高级编程-4.11-chown,fchown和lchown函数

接下来讲的函数主要是用来更改文件的用户ID和,组ID。#include int chown(const char* pathname,uid_t owner,gid_t group);int fchown(int filedes,uid_t owner,gid_t growp);int lchown(const char* pathname,uid_t owner,gid_t gr

2011-10-21 22:31:43 3525

原创 TechWeb微晚报52期:马云不差钱 收购雅虎成迷

编者按:在微博时代,每个人的生活都深深的被知识浪潮所影响,而互联网则是永不过时的课堂。TechWeb团队将每天挑选出精彩微博,以飨读者。—————————————————正文分割线——————————————— 【一】马云会否收购雅虎?李开复:任何想收购雅虎的公司,现在都最好不要公开表态。表态想收购雅虎 --> 雅虎股价上涨 --> 股价+溢价提高收购成本 --> 价位太高出资

2011-10-21 20:48:10 1793

原创 C++ STL学习之list

LIST 是一个双向链表。因为本人的C++的编程时间有限,目前还没怎么用到list,在数据结构中,list是一个比较重要的。首先复习一下什么是双向链表。双向链表是一种每个节点都有两个指针,分别直接的指向了直接前驱和直接后驱。这种方式对访问一个节点的前后都是十分方便快捷的。向前向后搜索的时间都是为常量时间。并且在链表的头和尾部插入元素的时间都是常量时间。List有以下优点:

2011-10-20 22:39:27 5640

原创 unix环境高级编程-4.9-chmod,fchmod函数和粘住位

这两个函数可以更改我们现有文件的访问权限。#include int chmod(const char *pathname,mode_t mode);int fchmod(int filedes,mode_t mode);以上函数返回0是表示成功,-1,表示不成功。查看GNU C手册:int chmod (const char *filename, mode t mod

2011-10-20 20:10:41 2785

原创 unix环境高级编程-4.8-umask函数

自此我们已经说明了每个文件相关联的9个访问权限位。在此基础上,我们可以说明与每个进程相关联的文件模式创新屏蔽字。umask函数为进程设置文件模式创建屏蔽字,并返回以前的值。#include mode_t umask(mode_t cmask);查看GNU C手册。mode_t umask (mode t mask) [Function]The umask function

2011-10-20 19:23:53 4630

原创 C/C++中几种经典的垃圾回收算法

1.引用计数算法         引用计数(Reference Counting)算法是每个对象计算指向它的指针的数量,当有一个指针指向自己时计数值加1;当删除一个指向自己的指针时,计数值减1,如果计数值减为0,说明已经不存在指向该对象的指针了,所以它可以被安全的销毁了。可以很直观的用下面的图表示:        引用计数算法的优点在于内存管理的开销分布于整个应用程序运行期间,非常

2011-10-20 11:23:26 25515 32

原创 unix环境高级编程-4.7-access函数

如前所述,当用open函数打开一个文件的时候,内核以进程的有效用户ID和有效组ID,为基础执行期访问权限测试。有时候,进程也希望按期实际用户ID,和实际组ID,来测试访问能力。access函数是按照实际用户ID和实际组ID,进行访问权限测试的。 #includeint access (const char*pathname,int mode); 返回值:成功返回0,出错返

2011-10-20 11:09:10 3810

原创 unix环境高级编程-系统是如何设置文件权限的

4.4 设置用户ID和设置组ID与一个进程相关联的ID有6个或更多,如下表所示:   与每个进程相关联的用户ID和组ID实际用户ID实际组ID我们实际上是谁,这两个字段在登录时取自口令文件中的登录项,通常在登录会话期间这些值不会改变,但root进程可改变他们。有效用户ID有效组ID附加组ID规定

2011-10-19 21:14:55 1937

原创 unix环境高级编程-4.3-文件类型

我们都知道在unix系统中,文件分为两种--------普通文件和目录。unix大多数都是这些文件类型。但是也有另外一种。下面简单介绍一下文件类型:(1)普通文件。最常见的文件类型。(2)目录文件。这种文件包含了其他文件的名字以及指向与这些文件有关的信息指针。对一个目

2011-10-18 23:01:16 2635

原创 unix 环境高级编程-1.6-程序和进程

1.6、程序和进程 程序:存放在磁盘上,处于某个目录中的可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使之执行。进程和进程id:程序的执行被称为进程(process)。unix确保每个进程都有一个唯一的数字标识符。称为进程ID。进程id总是非负数。

2011-10-14 21:56:52 1283

原创 C/C++之动态内存分配比较

1、C malloc 和 free vs C++ new 和delete:C 语言的malloc() 和free() 并不会调用析构函数和构造函数。C++的 new 和 delete 操作符 是 "类意识" ,并且当调用new的时候会调用类的构造函数和当delete 调用的时

2011-10-13 10:20:08 4380 9

原创 在C + + 0 x新标准中,使用构造函数初始化列表和序列

介绍C+ + 03初始化是前后矛盾。例如,它不让你初始化POD数组 是类成员和圆荚体阵列使用新分配。c++的限制规则变得更明显03初始化时,你需要初始化一个容器对象填充。通常,你要强迫自己用的是一种笨重的回路作为一个解决办法:std::vector vi;for (in

2011-10-07 21:11:03 4163 1

原创 vector 内部方法大全 学习(初学者的参考资料)

STL容器之vector学习。 平时写程序的时候,用到的vector容器是非常多了。今天系统整理一下vector 内部的一些方法。 Vector 是一种顺序性的容器,按照严格线性存储各种对象。他其实就是一种动态的数组,正如数组,、vector有他们存储在存储单元相

2011-10-07 16:52:36 6740 7

原创 悼念乔布斯---他的产品改变了世界,思想影响了一代人,三个故事,勉励大家

乔布斯座右铭"Stay hungry, stay foolish"的意境:“我们必须了解自己的渺小。如果我们不学习,科技发展的速度会让我们五年后被清空。所以,我们必须用初学者谦虚的自觉,饥饿者渴望的求知态度,来拥抱未来的知识。”  乔布斯逝世,苹果官方网页悼词:苹果失

2011-10-06 09:10:34 2832 7

原创 Effective c++学习笔记条款20:宁以 pass-by-reference-to-const替换pass-by-value

Prefer pass-by-reference-to-const to pass-by-value        这个问题在在C++是非常常见的。传值和传引用巨大的差别在于你所使用的参数是其本身还是其副本。缺省情况下C++是以by value 传递的。其副本是对象本身的

2011-10-05 19:48:16 3338 9

原创 unix环境高级编程-5.2~3标准I/O库。

5.1引言I/O对于操作系统是一个非常重要的。无论是各种类型的数据库。5.2 流和FILE对象第三章,我们可以回忆到I/O函数都是文件描述符的。即是打开一个文件,返回一个文件描述符。然后对文件描述符进行后续的I/O操作。而对于标准的I/O库,操作则围绕流进行的!当用标准I/O库打开或创建一个文件的时候,我们已经是用一个流与一个文件相关联。标准io文件流可用于单字节和多字节字符集。流

2011-10-31 22:56:16 1465

原创 unix环境高级编程-chdir、fchdir和getcwd函数。

每个进程都有一个当前的工作目录,此目录是搜索所有相对路径的起点。进程通过调用chdir或fcdir函数可以更改当前工作目录。进程通过调用chdir或者fchdir函数可以更改当前工作目录。 #includeint chdir(const char* pathname);int fchdir(int filedes); 这两个函数分别用文件名和文件描述符来制定新的工作目录

2011-10-27 22:39:47 4126

原创 unix环境高级编程-4.21-读目录

本节主要讲述了对unix系统对读目录的讲述。首先了解一下了解一下下面的函数#include DIR* opendir(const char* pathname); 成功返回指针,错误返回null;struct dirent *readdir(DIR *dp);//成功返回其指针,若在目录结尾或出错则返回null;void rewinddir(

2011-10-27 21:47:01 1340

原创 unix环境高级编程-mkdir和rmdir函数

4.20 mkdir和rmdir函数#include int mkdir(const char* path,mode_t mode);成功返回0,失败-1.此函数创建了一个新的空目录。其中.和..目录项制动创建的。所指定的文件访问的文件访问权限mode由进程的文件模式创建屏蔽字的修改。查看GNU Cint mkdir (const char *filename, mod

2011-10-26 21:27:33 5387

原创 unix环境高级编程-4.8-utime函数

上一节,我们描述了对文件操作的三种时间,这一节主要讲述utime函数,既对一个文件的访问和修改时间。#include int utime(const char* pathname,const struct utimbuf *times);成功返回0,失败返回-1;此函数所使用的数据结构struct utimbuf{ time_t actime ;/*access

2011-10-25 21:54:14 3630

原创 unix环境高级编程-4.18-文件时间

在unix系统中,每个文件要保持三个时间字段,他们的意义分别如下:字段说明例子ls选项st_atimest_mtimest_time文件数据的最后访问时间文件按数据的最后修改时间i节点状体的最后更改时间readwritechmo,chown-u默认-c注意st_mti

2011-10-25 19:51:25 1177

原创 unix环境高级编程-4.17-sylmink和readlink函数

本节将介绍symlink和readlink函数的一些基本原理。symlink函数用来创建一个符号链接#includeint symlink(const char* a c t u a l p a t h,const char* sympath);查看GNU C文档int symlink (const char *oldname, const char *newname) [F

2011-10-24 22:41:35 3847

原创 unix环境高级编程-4.16-符号链接

符号链接是指向一个文件的间接指针。他与上一节所诉的硬链接不同。硬链接直接指向文件的i节点。引入符号链接的原因是为了避开硬链接的一些限制。硬链接通常要求链接和文件位于同一文件系统中。只有超级用户才能创建指向目录的硬链接。对符号链接以及他指向何种对象并无任何文件系统限制。任何用户都可以创建指向目录的符号链接。符号链接一般用于将一个文件或这个目录结构移动到系统中的另一个位置。 当使用

2011-10-24 22:24:33 2155

转载 UNIX网络编程初步

1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序 在一个端口上监听,直到有一个客户端的程序发来了请求. 1.2 常用的命令 由于网络程序是有两个部分组成,所以在调试的时候比较麻烦,为此我们有必要知道一些常用的网络命令

2011-10-24 09:45:41 1658

原创 央视聚焦都市裸婚族:年轻人为房子丧失青春

今天看到了这个新闻节目,感到房价高涨的年代,受苦的是我们这一代。自己感到奋斗的无奈。感到自己很渺小,动不动就上百万的房子上。中国网络电视台消息:裸婚,无奈的抗争,还是幸福的浪漫?从一无所有到安身立命,一群孤独的创造者。从一张结婚证开始的奋斗,精彩与否,冷暖自知。     沉重的裸婚   “裸婚”要面对无形的社会压力  选择“裸婚”需要勇气,需要面对周围亲朋好友的眼光、询问甚

2011-10-24 09:24:22 1322

原创 Linux下的多线程编程(转载)

1 引言  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。  为什么有了进程的概念后,还要再引入线程呢?使用

2011-10-24 09:01:40 4457

原创 Linux下的多进程编程初步(转载)

最近在学习linux环境高级编程,多进程编程算是编程中的最重要的一个部分了,本文让我学习和明白了很多,所以转载过来。让更多想多线程编程的人学习。只有顶到首页才能让更多的人学习。文章摘要:    多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix系统中才引入多线程机制,如今,由于自身的许多优点,多线程编程已经得到了广泛的应用。本文我们将介绍在Linux下编写多进程和多线程

2011-10-24 00:11:17 52281 14

原创 unix环境高级编程-4.15-link,unlink,remove和rename函数

如上节所述,任何一个文件可以有多个目录项指向其i节点。创建一个指向现有文件的链接的方法是使用link函数。#include int link(const char* existingpath,const char* new path);若成功返回0,出错则返回-1;int link (const char *oldname, const char *newname) [F

2011-10-22 18:11:00 6435 1

原创 unix环境高级编程-4.14-文件系统

文件系统为了说明文件连接的概念,先要介绍UNIX文件系统的基本结构,同时,了解i节点和志向i将诶点的目录项之间的区别也是很有益处的。目前正在使用的UNIX文件系统有多种实现。例如,SOLARIS支持多种不同类型的磁盘文件系统:传统的机遇BSD的unix文件系统,ufs,读写DOS格式哈软盘的文件系统,以及读CD的文件系统。本节讨论的是UFS。我们可以把一个磁盘氛围一个或者多个分区。每个

2011-10-22 16:44:17 1798

翻译 简单指导C++ Templates

1. 模板的基本语法模板通常是用一对尖括号给括起来。如: Content内容可以是:a)       class T / typename Tb)        一种数据类型,关联T其中T 就是代表了一种数据类型。下面用一个几段代码来演示一下void PrintTwice(int data){ cout << "Twice is: " << data *

2011-10-22 10:03:29 1152 2

原创 进程同步的几种机制

多进程的系统中避免不了进程间的相互关系。本讲将介绍进程间的两种主要关系——同步与互斥,然后着重讲解解决进程同步的几种机制。       进程互斥是进程之间发生的一种间接性作用,一般是程序不希望的。通常的情况是两个或两个以上的进程需要同时访问某个共享变量。我们一般将发生能够问共享变量的程序段称为临界区。两个进程不能同时进入临界区,否则就会导致数据的不一致,产生与时间有关的错误。解决互斥问题应该满

2011-10-21 23:54:30 13666

原创 SourceInsight使用技巧(转)

配置成简单好用的c/java代码编辑器1、缩进与tab(1)Options菜单àPreferencesàTyping卡,勾掉下面两项∶Typing tab indents line,regardless of selection,空行按tab无法前进Typing tab replaces current selection,选定部分内容、再按tab时会清除所选(2)Opti

2011-10-21 13:07:59 2080

原创 马云:我今年的名声是“过河拆桥”(转载)

转自http://www.enet.com.cn/enews/ 【eNet硅谷动力资讯中心消息】10月17日消息,今天下午淘宝商城召开媒体恳谈会对淘宝商城新规则做出全面解读。阿里巴巴董事局主席马云、淘宝商城总裁张勇出席了本次发布会,马云更是从美国匆忙赶回来参加此次会议。会

2011-10-18 23:20:16 2110

原创 IT业9大最糟糕CEO决策(转载)

(万学)北京时间9月5消息,据国外媒体报道,信息技术、软件和电脑公司的绝顶聪明的CEO们也不可避免地会有一些糟糕透顶的决策。这些错误的决策或让公司一下子损失几十亿美元营收,或让整个公司轰然倒闭,读起来令人唏嘘,发人深省。现在精选技术行业史上最糟糕的九大CEO决策,以飨读者。D

2011-10-18 23:17:17 2299

原创 unix环境高级编程-文件和目录-stat,fstate,lstat函数

stat,fstate,lstat函数首先看一下函数定义#include int stat (const char *restrict pathname,struct stat* restrict buf)int fstat(int filedes,struct s

2011-10-18 22:17:25 8027 7

原创 unix环境高级编程-文件读取,同步机制

3.12 dup和dup2函数下面的两个函数用来赋值一个现存的文件描述符#include int dup(int filedes); int dup2(int filedes,int filedes2);成功则返回新的文件描述符,若出错则返回-1;

2011-10-18 00:09:09 1953 4

原创 unix环境高级编程-3.11-原子操作

上一节,我们学习了多个进程打开同一个文件,和单个进程打开多个文件原理。1.填写至一个文件早期的unix系统将数据添加文件尾端如下代码if(lseek(fd,0l,2)<0 err_sys("lseek error");if(write(fd,buf,100)

2011-10-17 22:32:21 1856 1

原创 unix环境高级编程-3.10-文件共享

unix系统支持在不同进程间共享打开的文件。   内核使用三种数据结果表示打开的文件。(1)每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件的描述符表,可将其视为一个矢量,每个描述符占用一项。   每个文件描述符相关连的是:       文件描述符

2011-10-17 21:42:02 2413 7

原创 网络文件系统(NFS)(转载)

Reorganized and enhanced by Tom Rhodes. Written byBill Swingle.  网络文件系统是FreeBSD支持的文件系统中的一种, 也被称为 NFS。 NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程

2011-10-17 21:15:52 997

标准库boost程序库导论(中文版).chm

标准库boost程序库导论(中文版).chm标准库boost程序库导论(中文版).chm标准库boost程序库导论(中文版).chm

2011-08-23

C++ static 用法总结

C++ static 用法总结C++ static 用法总结

2011-08-23

关于c++ 继承多态的深度思考

c++ 继承多态 深度思考c++ 继承多态 深度思考c++ 继承多态 深度思考c++ 继承多态 深度思考

2011-08-23

空空如也

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

TA关注的人

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