自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (15)
  • 收藏
  • 关注

转载 GDB手册

GDB手册2:进入和离开GDB2010-01-10 Linux查看评论<br />第一章:一个GDB会话例子<br />第二章:进入和离开GDB<br />这章讨论了如何开始和离开GDB。<br />提要:<br />1. 输入’gdb’开始GDB<br />2. 输入 quit or Ctrl-d来退出<br />2.1 调用GDB<br />  运行gdb程序调用GDB。一旦开始执行,GDB会一直从终端读入命令,直到你告诉它结束为止。<br />  在需要制定一些调试环境的时候,你也可以在开始的时候就用

2010-06-12 10:14:00 1650

原创 Linux设置环境变量

<br />Linux设置环境变量小结<br />1、总结背景<br />在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲解环境变量定制的问题。<br />2、变量简介<br />Linux是一个多用户的操作系统。每个用户登录系统后,都会

2010-06-10 16:18:00 593

原创 SIGPIPE信号问题

<br />socket编程问题<br />SIGPIPE信号问题=========================<br />当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。<br />    根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不想客户端退出可以把SIGP

2010-06-10 16:17:00 666

原创 线程错误

<br />2.3 线程段错误 <br />在多线程中,若一个线程退出问题:<br />为什么A程序创建了10个线程, 但是ps时却会出现11个A进程了. 因为linuxthreads自动创建了一个管理线程. <br />当程序开始运行时, 并没有管理线程存在(因为尽管程序已经链接了pthread库, 但是未必会使用多线程). <br />程序第一次调用pthread_create时, linuxthreads发现管理线程不存在, 于是创建这个管理线程. 这个管理线程是进程中的第一个线程(主线程)的儿子.<

2010-06-07 17:19:00 1283

原创 socket编程问题-SIGPIPE信号处理

<br />socket编程问题<br />SIGPIPE信号问题=========================<br />当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。<br />    根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不想客户端退出可以把SIGP

2010-06-07 17:19:00 2139

原创 线程的退出

<br /><br />2.线程的退出<br />2.1 线程的正常退出处理:<br />    1.可预知的错误发生时,应对处理:使整个程序stop的方法<br />    设置全局的开关 ,在主进程和线程中使用【线程中使用extern 进行引用】,当主进程或线程中的开关发生变化,要求退出时,所有线程退出,主进程调用函数pthread_join()阻塞式的等待所有线程的退出。<br />    2.可预知的错误发生时,应对处理:使整个程序stop的方法<br />    对于接受线程:可以内部发送控制信息

2010-06-07 17:18:00 1448

原创 线程的互斥锁

<br />1.线程的互斥锁<br />1.1. 初始化:<br />在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:<br />对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.<br />对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthread_mutex_init进行初始化, 并且在释放内存(free)前需要调用pthread_mutex_

2010-06-07 17:17:00 3512

转载 指针的理解

<br />指针的理解<br />一个变量的地址称为该变量的“指针”。<br />地址2000是变量i的指针。<br />char *b 是指针,它代表一个地址;&b就是指针的指针,是二级指针。<br />指针也就是一个无符号的整数。<br />作为一级指针char *b的值改变了,但二级指针&b的值没变。<br />指针理解<br />map<string, string > & RunScript(char *name, int num, char **list)<br />{<br />...<br

2010-06-07 11:14:00 634

转载 Linux系统的默认编码设置

Linux系统的默认编码设置修改/etc/sysconfig/language文件,将RC_LANG, RC_LC_ALL设置为zh_CN.GB2312, 同时将ROOT_USES_LANG设置为 "yes"    一。Linux系统的默认编码设置。    /etc/sysconfig/i18n    Controls the system font settings. The language variables are used in /etc/profile.d/lang.sh. An example

2010-06-07 10:59:00 879

转载 网络接口层-路由的处理

PC1(网关指向R1 E0口)给发一个PING 包的时候 就要封装 第1个就是代理ARP的   解析出E0口的 MAC地址 IP地址都是不变得 包的方向是上面的从左到右的方向(黑箭头)PC2(网关指向R2 E0口)给回一个PING包的时候 是下面的方向   (红箭头)ip数据包经由路由转发的时候源ip,目的ip是否改变?最近面试网络方面的经常问到这个问题,答案是不能改变的,除非做了nat转换才能改变,不过mac地址是变化的,因为发送端开始不知道目的主机的mac地址,所以每经过一个路由器mac地址是变化的。目

2010-06-07 10:32:00 1007

转载 tcp 数据封装

<br />数据封装<br /><br />  当主机跨越网络向其他设备传输数据时,就要进行数据封装,就是在OSI模型的每一层加上协议信息。每一层只与接受设备上相应的对等层进行通信。<br />  为了实现通信并交换信息,每一层都使用协议数据单元(Protocol Data Units,PDU)。在模型中的每一层,这些含有控制信息的PDU被附加到数据上。他们通常被附加到数据字段的报头中。但它们也可以附加在数据字段的报尾中。<br />  在OSI模型的每一层,通过封装使每个PDU被附加到数据上,而且每个PD

2010-06-05 11:44:00 4465 1

转载 关于pthread_mutex_t的初始化

关于pthread_mutex_t的初始化 [心得] class MyLock { private: pthread_mutex_t m_lock; public: MyLock() { // m_lock = PTHREAD_MUTEX_INITIALIZER; //使用这种方法初始化时GCC编译无法通过 pthread_mutex_init(&m_lock,NULL); } ~MyLock() { } void Lock() { pthread_mutex_lock(&m_lock); } void u

2010-06-05 10:51:00 13094

原创 gdb 调试

<br />GDB调试启动.无论gdb何时中断了你的程序(因为一个断点或者是一个信号),gdb会自动选择信号或断点发生的线程作为当前线程;<br />TAG: Linux  调试  GDB  <br /><br />一、GDB的静态调试启动方法:<br />1、当需要在命令行通过gdb来启动可执行程序的时候,可使用一下命令:<br />   gdb <可执行程序名><br />   这个时候gdb会加载可执行程序的符号表和堆栈,并为启动程序作好准备;<br />   接下来,需要设置可执行程序的命令行参数:

2010-06-05 10:50:00 1543

转载 GDB调试启动

<br />GDB调试启动.无论gdb何时中断了你的程序(因为一个断点或者是一个信号),gdb会自动选择信号或断点发生的线程作为当前线程;<br />TAG: Linux  调试  GDB  <br /><br />一、GDB的静态调试启动方法:<br />1、当需要在命令行通过gdb来启动可执行程序的时候,可使用一下命令:<br />   gdb <可执行程序名><br />   这个时候gdb会加载可执行程序的符号表和堆栈,并为启动程序作好准备;<br />   接下来,需要设置可执行程序的命令行参数:

2010-06-04 13:50:00 5315

转载 改写你的recv和send函数

改写你的recv和send函数(TCP传输数据细节 二) TCP是基于字节流的,你向send或者recv提交一个buffer,它不一定帮你发送或者接收完这个buffer的,所以你应该自己改写一下这两个函数,以便符合应用的需要,改写后姑且命名为TCPsend,TCPrecv下面我改写后的这两个函数的实现:////////////////////////////////////////////////////////////////////////////////////////int TCPsend(SOCK

2010-06-03 23:09:00 1523

原创 tcp 数据的传输

<br />TCP完成开放系统互连(OSI)模型中传输层,即第四层的功能。它的主要责任是确保端至端之间的可靠连接。IP位于下一层,在OSI的网络层,即第三层,把每个包的发送者和接收者地址告诉一路上各个路由器。路由器和第三层交换器可以读出IP和其他的第三层协议。这些信息与路由表以及其他网络智能结合在一起,能通过TCP/IP在整个房间或围绕地球进行传递。<br /><br />    路由过程始于对发送端站而言是唯一的一个IP地址,端站可以被分配永久的IP地址,或者按需要从动态主机配置协议(DHCP)服务器或其

2010-06-03 23:05:00 518

转载 #ifdef __cplusplus 倒底是什么意思?

#ifdef __cplusplus 倒底是什么意思?1推荐时常在cpp的代码之中看到这样的代码:#ifdef __cplusplus   extern "C" { #endif//一段代码#ifdef __cplusplus } #endif   这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{和}处理其中的代码。  要明白为何使用extern

2010-06-03 22:37:00 530

转载 转载 :struct sockaddr_in等Socket编程相关数据类型定义

struct sockaddr_in等Socket编程相关数据类型定义                                 <br />计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需要进行转换。<br /><br />我们要讨论的第一个结构类型是:struct sockaddr,该类型是用来保存socket信息的: <br />  struct

2010-06-02 11:48:00 602

原创 TCP/IP协议栈与数据包封装

1. TCP/IP协议栈与数据包封装TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示(该图出自[TCPIP])。图 36.1. TCP/IP协议栈两台计算机通过TCP/IP协议通讯的过程如下所示(该图出自[TCPIP])。图 36.2. TCP/IP通讯过程传输层及其以下的机制由内核提供,应用层由用户进程提供(后面将介绍如何使用socket API编写应用程序),应用程序对通讯数据的含义进行解释,而传输层及

2010-06-01 22:45:00 769

原创 转载 :TCP/IP 应用层与应用程序

<br />TCP/IP 应用层与应用程序 <br />TCP/IP 起源于二十世纪 60 年代末美国政府资助的一个分组交换网络研究项目,它是一个真正的开放协议,很多不同厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 TCP/IP 协议组件允许它们互相进行通信。现在 TCP/IP 已经从一个只供一些科学家使用的小实验网成长为一个由成千上万的计算机和用户构成的全球化网络,TCP/IP 也已成为全球因特网(Internet)的基础,越来越多的 TCP/IP 互联网应用和企业商业应用正在改变着世界。<b

2010-06-01 21:20:00 1163

编译原理第6章-语义分析

编译原理第6章-语义分析

2016-11-22

poll和epoll内核源码剖析

poll和epoll内核源码剖析

2016-11-21

c语言开发实例详解

用大量经典有趣的问题来讲解C的开发,强烈推荐

2015-03-28

深入编程内幕.pdf

Visual C++作为一个功能非常强大的可视化应用程序开发工具 是计算机界公认的最 优秀的应用开发工具之一 Microsoft 的基本类库MFC 使得开发Windows应用程序比以 往任何时候都要容易 本光盘教学软件的目的就是为了让你学会在Visual C++环境下 利 用微软的基本类库MFC 开发出功能强大的Windows应用程序 在本章节的内容当中 我们 将向您介绍使用VC 开发软件需要用到的一些基本概念 使用MFC 进行编程的基本特点 以 及VISUAL C++集成开发环境提供的一系列编程辅助工具 WIZARD的使用方法 ">Visual C++作为一个功能非常强大的可视化应用程序开发工具 是计算机界公认的最 优秀的应用开发工具之一 Microsoft 的基本类库MFC 使得开发Windows应用程序比以 往任何时候都要容易 本光盘教学软件的目的就是为了让你学会在Vis [更多]

2015-03-28

C++编程指南.pdf

软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我 以前捏造的C++/C 程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1 个读者的 建议。

2015-03-28

TCP-IP详解卷2

TCP-IP详解卷2是TCP/IP技术详解卷2

2011-09-25

TCP-IP详解卷1

TCP-IP详解卷1是TCP/IP协议详解卷1.

2011-09-25

计算机网络与因特网

计算机网络与因特网一书是计算机网络技术里的圣经

2011-09-25

Berkeley DB 资料

Berkeley DB 批量插入更新与删除用法示例 Berkeley 函数接口 Berkeley DB 由浅入深 SQL 开发人员 Oracle Berkeley DB 指南 Berkeley DB参考手册

2010-09-21

c 函数速查手册 c的标准库函数

本帮助文件由本人整理制作,内容全摘自网络,版权归实际作者所有.

2009-10-13

linux c函数速查手册

linux编程的标您可以免费的使用、分发本手册。但未经Linhan的授权许可不得擅自进行篡改、反编译,及将其全部或部分用于商业用途。 本手册受著作权法和国际公约的保护,作者保留对本手册及本声明的最终修改权。 准库函数 都可以搜到

2009-10-13

lcd ampire128x64 的使用 proteus

本资源为lcd ampire128x64 的使用,包括它的仿真,软件为proteus6 所用程序是用 keil编写,也有源码。

2009-05-17

自动控制 -20-sim

自动控制 荷兰软件20-sim的使用及课题设计,该课题设计是利用了仿真软件的控制应用试验箱

2009-04-28

autocad做的小户型平面图

小户型平面图即是平面图的设计,本作品是用AutoCAD的平面设计模块制作的平面图图1是整个小户型平面图制作的成品图,人们可以看到这个作品的整个平面设计和室内部的布局。

2009-03-14

用matlab做的小波信号变换系统

用matlab作的小波信号变换系统,利用二维小波变换实现图像压缩、图像融合和图像增强等功能。

2009-03-14

空空如也

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

TA关注的人

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