随笔分类 - C/C++
摘要:前言 因为C++是以C为基础的,所以要用C++编程就必须熟悉C的语法。 C语言的学习可以学习K & R C的《C程序设计语言》 创建函数 Q: 函数原型? A: 标准C/C++有一个特征叫函数原型(function prototyping)。调用函数时,编译器使用原型确保正确传递参数并且正确处理返回
阅读全文
摘要:前言 用户定义的数据类型(data type)或类(class),是C++区别于传统过程型语言的地方。 通常将创建好的类库存放在库(library)中。 本篇会使用几个C++类库(class libraries),如:一个很重要的标准库是输入/输出流库,可以用它从文件或键盘读取数据,并且将数据写入文
阅读全文
摘要:引言 在《I/O的效率比较》中,我们在修改图1程序的BUF_SIZE为8388608时,运行程序出现崩溃,如下图1: <!--more--> 图1. 段错误 一般而言,导致程序段错误的原因如下: 内存访问出错,这类问题的典型代表就是数组越界。 非法内存访问,出现这类问题主要是程序试图访问内核段内存而
阅读全文
摘要:设备特殊文件 引言 st_dev和st_rdev这两个字段经常引起混淆 struct stat { mode_t st_mode;/* file type & mode (permissions) */ ino_t st_ino;/* i-node number (serial number) */
阅读全文
摘要:函数chdir、fchdir和getcwd chdir、fchdir函数 每个进程都有一个当前工作目录,当前目录是进程的一个属性 当用户登录UNIX系统时,其当前工作目录通常是口令文件/etc/passwd中该用户登录项的第6个字段 进程调用chdir或fchdir函数可以更改当前工作目录 <!--
阅读全文
摘要:静态库和动态库 引言 将多个目标文件打包到一起,形成一个文件,叫库 库文件名字都是以lib开头的 本次我们将《UNIX环境高级编程》(第三版)的error.c源码打包成静态库或者动态库 <!--more--> #ifndef __ERROR_H__ #define __ERROR_H__ /** *
阅读全文
摘要:读目录 头文件<dirent.h>相关函数介绍 对某个目录具有访问权限的任何用户都可以读目录 但是,为了防止文件系统产生混乱,只有内核才能写目录 一个目录的写权限位和执行权限位决定了在该目录中能否创建新文件以及删除文件,并不是能否写目录本身 <!--more--> UNIX现在包含了一套与目录有关的
阅读全文
摘要:文件的时间 引言 ls(1)命令按照文件的时间排序可以参考如下选项: 系统默认(用-l或者-t)是按照文件的修改时间的先后排序 -u选项按访问时间排序 -c选项按状态更改时间排序 <!--more--> 其实就是按照stat结构体下面的3个时间值中的一个排序。 struct stat { mode_
阅读全文
摘要:更改文件拥有者 chown命令 chown将指定文件的拥有者改为指定的用户或组 命令格式如下: chown [OPTION]... [OWNER][:[GROUP]] FILE...<!--more-->chown [OPTION]... --reference=RFILE FILE... 普通用户
阅读全文
摘要:硬链接和软链接 实例 程序打开一个文件,然后解除它的链接。执行该程序的进程然后睡眠30秒,接着就终止。 #include"apue.h" #include<fcntl.h> int main(void) { if(open("tempfile", O_RDWR)<0) { err_sys("open
阅读全文
摘要:Unix System Overview Introduction All operating systems provide services for programs they run. Typical services include executing a new program, open
阅读全文
摘要:Files and Directories Introduction In the previous chapter we covered the basic functions that perform I/O. The discussion centered on I/O for regular
阅读全文
摘要:File I/O Introduction We’ll start our discussion of the UNIX System by describing the functions available for file I/O—open a file, read a file, write a
阅读全文
摘要:UNIX标准及实现 引言 在UNIX编程环境和C程序设计语言的标准化方面已经做了很多工作。虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相当容易,但是20世纪80年代UNIX版本的剧增以及它们之间差别的扩大,导致很多大用户(例如美国政府)呼吁对其进行标堆化。 本章首先将介绍过去20年来
阅读全文
摘要:gdb调试 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般
阅读全文

浙公网安备 33010602011771号