自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代威涛的主页

Linux C/C++ JAVA

  • 博客(16)
  • 收藏
  • 关注

原创 GNU gcc 使用手册

   伟大的GNU认为man手册是Open Source发展的过时产物, 于是他们针对各种当家软件出了各自的手册, 如GNU Emacs, GNU Vim, 当然gcc是不可缺少的, 这是Stallman一生最伟大的产物之一. Richard Stallman 是Open Source界的伟大人物之一, 他是gcc, gdb, emacs的作者, 名声在OS界不可谓不大. 有一次, 他去某

2007-08-30 18:07:00 4977

原创 I/O的多路转接: select

1. 概念:     I/O多路转接技术, 是先构造一张有关描述符的列表, 然后调用一个函数, 直到这些描述符中的一个已准备好进行I/O时, 该函数才返回. 在返回时, 它告诉进程哪些描述符已经准备好可以进行I/O.    在Linux下poll, pselect, select这三个函数都可以执行I/O多路转接操作, 今天我们主要说select函数. 2. select函数:

2007-08-30 16:27:00 1659

原创 GTK编程初谈

    GTK是一个跨平台的GUI开发库, 它是用C语言以OO的方式(俗称面向对象C, 又称OO-C)开发的. 只要是有一定C语言和GUI开发基础, 用GTK是一件很简单的事.1. 安装与配置:由于我使用的是Ubuntu Linux, 重点只介绍Ubuntu下的GTK开发库安装方法:sudo apt-get install vim-full                 ;我是vi的忠实用户,

2007-08-22 22:25:00 8107 8

原创 Linux线程同步(4): 条件变量

    条件变量分为两部分: 条件和变量. 条件本身是由互斥量保护的. 线程在改变条件状态前先要锁住互斥量. 1. 初始化:    条件变量采用的数据类型是pthread_cond_t, 在使用之前必须要进行初始化, 这包括两种方式: 静态: 可以把常量PTHREAD_COND_INITIALIZER给静态分配的条件变量. 动态: pthread_cond_init

2007-08-22 19:39:00 6577

转载 GUI界的大战: QT VS GTK

        Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分. Qt支持所有 Unix 系统,当然也包括 Linux,还支持WinNT/Win2k,Win95/98 平台。         Trollte

2007-08-21 15:48:00 32685 3

原创 Linux线程同步(3): 读写锁(rwlock)

    在线程同步系列的第一篇文章里已经说过, 读写锁是因为有3种状态, 所以可以有更高的并行性.1. 特性:    一次只有一个线程可以占有写模式的读写锁, 但是可以有多个线程同时占有读模式的读写锁. 正是因为这个特性, 当读写锁是写加锁状态时, 在这个锁被解锁之前, 所有试图对这个锁加锁的线程都会被阻塞. 当读写锁在读加锁状态时, 所有试图以读模式对它进行加锁的

2007-08-21 14:41:00 19626 3

转载 创造Windows下的自由软件: MinGW

MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。详情请参考http://www.mingw.org>。这里的“纯粹”是指「使用msvcrt.dll的应用程序」。无法使用MFC (Microsoft Foundation Classes)。MinGW: A collection of freely available

2007-08-21 14:22:00 1735

原创 Linux线程同步(2): 互斥量(mutex)

    互斥量从本质上说就是一把锁, 提供对共享资源的保护访问. 1. 初始化:    在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.对于动态分配的互斥量, 在申请内存(malloc)之后

2007-08-17 18:18:00 5413

原创 Linux线程同步(1): 概要

    线程的同步, 发生在多个线程共享相同内存的时候, 这时要保证每个线程在每个时刻看到的共享数据是一致的. 如果每个线程使用的变量都是其他线程不会使用的(read & write), 或者变量是只读的, 就不存在一致性问题. 但是, 如果两个或两个以上的线程可以read/write一个变量时, 就需要对线程进行同步, 以确保它们在访问该变量时, 不会得到无效的值, 同时也可以唯一地修改该变量并

2007-08-15 18:32:00 2085

原创 Socket的地址查询

    Socket的地址查询函数有很多, 分为主机(host), 网络(net), 协议(proto)和服务(serv), 这些函数完成各种地址查询功能. POSIX.1定义了两个新的函数: getaddrinfo和getnameinfo, 前者把主机名字和服务名字映射到一个地址, 后者将地址转换成主机名或服务器名.    这些函数返回的网络配置信息可能存放在许多地方. 它们可以保存在静态文

2007-08-13 18:11:00 2531

原创 Linux进程间通信: 消息队列

    Linux的消息队列(queue)实质上是一个链表, 它有消息队列标识符(queue ID). msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从队列中取消息, 取消息是不一定遵循先进先出的, 也可以按消息的类型字段取消息. 1. 标识符(des)和键(key):    消息队列, 信号量和共享存储段, 都属于内核中的IPC

2007-08-13 13:13:00 2592 1

转载 [收藏]学习Linux网络编程教材

  《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。  《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常

2007-08-09 17:43:00 3377 3

原创 中间件的介绍

    中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。  在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式

2007-08-09 17:32:00 1421

转载 sizeof 操作符

1. 定义: sizeof是何方神圣? sizeof 乃 C/C++ 中的一个操作符(operator)是也。简单说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including

2007-08-02 10:30:00 1037

转载 僵尸进程

1. 概念:        在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过

2007-08-01 15:49:00 1843

原创 Linux线程(3): 线程清理处理程序

    这是线程级的清理处理, 类似于进程级的atexit, 这在前面的进程环境和进程控制系列文章中有过比较详细的介绍.1. 触发清理程序的3个条件: 调用pthread_exit时. 响应取消请求时. 用非0的execute参数调用pthread_cleanup_pop时. 2. pthread_cleanup_push函数: 原型

2007-08-01 15:35:00 2264 1

空空如也

空空如也

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

TA关注的人

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