
C/C++
yoqiang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Structure and Union有什么区别?(转)
共用体 构造数据类型,也叫联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 --------------------------------------------------------------- 结构体变量所占内存长度是各成员占的内存长度的总和。转载 2012-10-31 10:30:44 · 287 阅读 · 0 评论 -
进程和线程的区别
进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。 在Mac、Windows NT等采用微内核结构的操作系统中,进程的功转载 2012-11-05 10:05:01 · 341 阅读 · 0 评论 -
Mongoose源码剖析:外篇之web服务器
引言在深入Mongoose源码剖析之前,我们应该清楚web服务器是什么?它提供什么服务?怎样提供服务?使用什么协议?客户端如何唯一标识web服务器的资源?下面我们抛开Mongoose,来介绍一个web服务的这些通性。web服务器:通常是指一个计算机程序(web服务器是什么?),在World Wide Web上提供诸如web页面的服务(提供什么服务?),使用HyperText Transfe转载 2012-11-04 13:22:48 · 381 阅读 · 0 评论 -
Mongoose源码剖析:Introduction and Installation
引言要剖析Mongoose的源码,首先你得知道它的一些基本情况和特性、并去使用它。本文就是介绍Mongoose是个什么东西?及如何安装和使用?这里假设你知道什么web服务器软件、web服务器使用什么协议、怎么提供服务等,如果你还不知道建议首先阅读:《Mongoose源码剖析:外篇之web服务器》。本文主要内容如下:1、Mongoose介绍 2、Mongoose的编译和使用 3、Ma转载 2012-11-04 12:11:23 · 272 阅读 · 0 评论 -
Mongoose源码剖析:mongoose的工作模型
引言我看一个项目的时候,比较喜欢首先看它的架构和设计。因为这样在研读源码的时候,有一个指导作用,不会迷失于具体细节,并能够引导我如何去将点串成线,将线串成面。而且一个软件怎么样,很大程度上取决于它采用的架构。本文主要介绍Mongoose的工作模型,及根据这个模型将代码大致串起来,找出主线。内容框架如下:1、线程模型2、从程序入口着手3、Mongoose的生命旅程1、线程模型转载 2012-11-04 11:39:26 · 319 阅读 · 0 评论 -
GDB 用法和命令介绍
一、GDB常用命令简介 rrun运行.程序还没有运行前使用c cuntinue 运行到下一断点处qquit 退出tabtab命令补全功能h help帮助sstep跟入函数nnext转载 2012-11-04 10:14:01 · 244 阅读 · 0 评论 -
Mongoose源码剖析:核心处理模块
引言前面我们介绍了Mongoose所有的几个主要的数据结构mg_context、mg_connection、mg_request_info,还有Mongoose的生命主线。有了这些基础就可以来看看Mongoose的核心处理工作是怎样的。如果你还没有阅读前面的文章,你可以通过下面的隧道直通:Mongoose源码剖析:外篇之web服务器Mongoose源码剖析:Introduction转载 2012-11-04 16:36:20 · 333 阅读 · 0 评论 -
比较全面的gdb调试命令
GDB是一个强大的命令行调试工具。虽然X Window提供了GDB的图形版DDD,但是我仍然更钟爱在命令行模式下使用GDB。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。 UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows转载 2012-11-03 21:21:54 · 431 阅读 · 0 评论 -
volatile定义变量的作用是什么?
问: 本人新手,看到最新的贴在上,大家在定义变量的时候常常加上volatile,请问加上这个目的是什么,是否加上这个后,变量存放的位置就会发生变化,谢谢大家!答:volatile的本意是“易变的”,由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。比如:static int i=0;int main(void){ ... while转载 2012-11-04 10:20:59 · 2104 阅读 · 0 评论 -
Mongoose源码剖析:数据结构篇
引言Mongoose中有几个数据结构扮演着重要的角色,它们分别是:struct mg_context:保存Mongoose的上下文,几乎每个函数都有mg_context参数 struct mg_connection:保存HTPP连接信息 struct mg_request_info:保存HTTP请求的信息,这个结构体传递给URL处理函数 我之所以现在这里介绍它,因为之后的分析工作中转载 2012-11-04 13:08:50 · 434 阅读 · 0 评论 -
nm命令中符号类型详解
nm命令介绍的很多,但大多不介绍其函数符号标志的含义。最近在调试动态库时常用到,其中用的最多的用法:nm -A * |grep “aaa” | c++filt // -A 为了显示文件, c++filt转换为可读风格,好像有个参数也能实现类似功能其他内容整理如下(原作者未知):nm用于列出目标文件的符号清单,如果没有指定目标文件,则默认为“a.out”。nm的格式如下:n转载 2013-01-04 16:10:33 · 567 阅读 · 0 评论