自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

转载 Linux下用Valgrind做检查防止内存泄露

Linux下用Valgrind做检查防止内存泄露

2011-01-12 00:36:00 874 1

转载 linux core文件

linux core文件

2011-01-10 12:43:00 1079

转载 linux inittab详解

一、什么是init  init是Linux系统操作中不可缺少的程序之一。 是一个由内核启动的用户级进程。  内核启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务。所以,init始终是第一个进程(其PID始终为1)。  内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是

2010-04-20 22:38:00 743

转载 mount

如何在<a onclick="function onclick(){tagshow(event, linux);}" href="javascript:;" target="_self">linux系统下挂接(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享。挂接命令(mount)命令格式:mount [-t vfstype]

2010-02-11 08:22:00 560

转载 VMware下windows和Linux共享文件的方法

                                                  VMware下windows和Linux共享文件的方法  1,安装vmtools for linux  选择vmware workstation 程序菜单中vm>install vmware tools ……  启动guest电脑中的linux,执行:   mkdir /mnt/cdrom   mo

2009-12-24 17:30:00 968

转载 用PuTTY登录Linux后,汉字显示为乱码的两种解决办法

用PuTTY登录Linux后,汉字显示为乱码的两种解决办法注:本文所述Linux为redhat。用PuTTY登录Linux后时,默认使用的是utf-8字符集,而我们常用的win 2000、xp系统使用的是GBK字符集,这就是乱码的原因,帮解决办法有两种:1,修改客户端设置在PuTTY的Reconfigration--Translation里的character

2009-12-24 17:00:00 7955

转载 嵌入式Linux系统的GDB远程调试的实现

      远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接,使用GDB标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能,调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。  就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机程

2009-12-23 10:25:00 1604

转载 用GDB调试程序

                                                           用GDB调试程序                                                               ---转自陈皓专栏 GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形

2009-12-18 10:11:00 1037

转载 在Linux下产生并调试core文件

在Linux下产生并调试core文件先看看我用的是个什么机器:$ uname -aLinux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i386 GNU/Linux再看看默认的一些参数,注意core file size是个0,程序出错时不会产生core文件了。$ ulimit -

2009-12-18 09:36:00 6506 1

转载 Linux基本指令

Linux基本指令alias替指令取别名◎ alias 列出目前系统所使用的所有指令别名◎ alias 别名=Linux 指令名称 此时若输入「别名」则功能会跟输入「Linux 指令名称」相同◎ 若想要每次开机都使用此别名,在 bash 中,一定要在 .bashrc 中指定,如果是 tcsh 中,则要在 .cshrc 中指定ar将许多档案备存成一个或多个档案◎ ar -rcv

2009-12-16 14:42:00 954

转载 vim使用技巧

                                              vim使用技巧  读本文之前请注意:1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用,但是现在基本上都是用vim了。2. 本文是整理和总结使用技巧,而非讲解vim入门,因此不会涉及最基本的使用,例如如何上移或下移光标,对此类操作请参阅任何一本vim

2009-12-16 14:30:00 867

转载 基本 VIM 操作指令

基本 VIM 操作指令注:以下指令若无特别标示,皆在「命令模式」下输入 § 进入输入模式在命令模式下输入以下指令,程序将会进入输入(insert)模式此时使用者便可以修改文件档,若想跳出输入模式,则键入即可回到命令模式。i在光标左方进入输入模式I在光标所在行的行首进入输入模式a在光标右方进入输入模式A在光标所在行的行尾进入输入模式o(小写英文

2009-12-16 11:53:00 5087

转载 vi的复制粘贴命令

vi的复制粘贴命令 vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要:  命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。  输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,

2009-12-16 10:53:00 7745

转载 关于信号量与线程互斥锁的区别与实现

 关于信号量与线程互斥锁的区别与实现 之前一直没有怎么关注过这个问题,前些日子在面试一家公司的时候,面试官提到了pthread_cond_wait/pthread_cond_signal的实现,当时答的不是很好,回来就查了nptl的代码。前天,水木上又有人问到了信号量和互斥锁的问题,我想还是对它们的区别与实现总结一下。首先了解一些信号量和线程互斥

2009-11-20 11:17:00 2868 1

转载 微软C/C++ 编译器选项

微软C/C++ 编译器选项-优化- /O1最小化空间minimize space/Op[-]改善浮点数一致性improve floating-pt consistency/O2最大化速度maximize speed/Os 优选代码空间 favor code space/Oa假设没

2009-10-06 11:05:00 1444

原创 使用异或交换数据值的原理

大家都知道,假如有a,b两个整型数,我们可以用a^=b;b^=a;a^=b;来交换a,b的值,在这里我说说其中的原理:^ 在 C 里面是按位异或操作符,相同的话异或的结果就是 0,不同的话就是 1。举个例子,比如 a 表示十进制的 5,b 表示十进制的 12,按位异或结果就是:a = 0101   (5 的二进制表示)b = 1100   (12 的二进制表示)    ----c

2009-09-30 17:51:00 6595 2

原创 由(int&)a引发的思考及浮点数在内存中的表示

今天看到一段代码,如下:请写出它的输出结果#include using namespace std; int main(void) { float a = 1.0f; cout << &a << endl; cout << (int)&a << endl; cout << (int&)a << endl

2009-09-30 13:46:00 2989 1

转载 Visual Studio 2008常用快捷键

调试快捷键 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift+F5: 停止调试 Ctrl+Shift+F5: 重启调试 F9: 切换断点 Ctrl+F9: 启用/停止断点 Ctrl+Shift+F9: 删除全部断点 F10: 逐过程 Ctrl+F10: 运行到光标处 F

2009-09-30 12:15:00 500

转载 标准输入输出函数%[]和%n说明符的使用方法

      标准输入输出函数scanf具有相对较多的转换说明符,它常常作为入门级函数出现在各种教材中。但奇怪的是,[]和n这两种都为c89/c99所规定的标准说明符却鲜少在大多数教材中出现。虽然[]和n说明符的使用频率不及其它说明符,但两者在程序设计中的作用仍然不可小视,尤其是[]说明符。        众所周之,scanf以空白字符为定界符,但如果输入的字符串是以其它字符为定界符的,那怎么办

2009-09-29 18:55:00 499

原创 通过函数指针修改函数内容

很多人认为通过函数指针不能修改函数内容,而只能通过函数指针调用函数,今天在论坛上看到一段代码,通过函数指针修改函数内容,颠覆了某些人对函数指针的看法,转引过来,慢慢欣赏。#include #include #include using namespace std; void foobar(void){ printf( "function foobar %x/n

2009-09-29 17:05:00 1388

转载 宏展开小结

在C++中,尽管使用宏是不推荐的,但是很多时候宏也会为我们提供一些方便,且在现有代码中宏也确实大量存在。有人认为宏是错误的根源,因为宏展开后,有可能会出现一些稀奇古怪的代码,那么,本文在这里总结一些查看宏展开后的代码的方法。 1、在visual studio 2005中,选择项目属性-〉配置属性-〉C/C++-〉预处理器,在“生成预处理文件”中选择生成预处理文件,“不带行号(/EP /P)

2009-09-28 10:36:00 5234

转载 条件编译小结

编码的时候经常要用到条件编译,每次都到网上去查比较浪费时间,今天总结一下以备后用编译器 GCC#ifdef __GNUC__ #if __GNUC__ >= 3 // GCC3.0以上 Visual C++#ifdef _MSC_VER(非VC编译器很多地方也有定义) #if _MSC_VER >=1000 // VC++4.0以上 #if _MSC_VER >=1100 // V

2009-09-26 23:37:00 1519 1

转载 虚拟继承内存布局图示

    在同时使用了虚函数的时候,虚基类表可以合并到虚表(virtual table)中,每对象的虚基类表指针(vbptr)也可以省略(只需vptr即可)。  虚函数是C++众多运行时多态特性中开销最小,也最常用的机制。虚函数的好处和作用这里不再多说,应当注意在对性能有苛刻要求的场合,或者需要频繁调用,对性能影响较大的地方(比如每秒钟要调用成千上万次,而自身内容又很简单的事件处理函数)

2009-09-26 10:38:00 2720

原创 正确认识printf和scanf函数

有以下一段程序:int i; char c; for (i=0;i {    scanf("%d",&c);    printf("i=%d/r/n",i); } 乍看很简单,可真正运行以后,发现问题并不是这么简单1.当你输入数字时,每次输入都会提示你输入2.当你输入字符时,不会提示你输入3.可能输出000001234 因为c的声名是char而不是int。当你令scanf(

2009-09-23 01:45:00 974

转载 linux epoll

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_S

2009-09-21 19:27:00 651

转载 Windows完成端口与Linux epoll技术简介

WINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型1、为什么select落后2、内核中提高I/O性能的新方法epoll3、epoll的优点4、epoll的工作模式 5、epoll的使用方法6、Linux下

2009-09-21 19:09:00 660

转载 关于ulimit的深入思考

在我总结ulimit之前,让我们回顾一下,为什么要修改ulimit的值?QUOTE:2.1. 如何管理多个连接?“我想同时监控一个以上的文件描述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select() 或 poll() 函数。 注意:select() 在BSD中被引入,而poll()是SysV STREAM流控制的产物。因此,这里就有了平台移

2009-09-21 18:46:00 1232

转载 EPOLL的ET和LT模式

LT(level triggered)是缺省的工作方式,并且同时支持block和no-block socket.在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd进行IO操作。如果你不作任何操作,内核还是会继续通知你的,所以,这种模式编程出错误可能性要小一点。传统的select/poll都是这种模型的代表. ET (edge-triggered)是高速工作方式,只支持no

2009-09-21 18:04:00 823

转载 linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池

上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式的线程池可以当成一种设计模式来用的,在很多平台上都是可以按这种方式来实现线程池,从win32 ,unix到jvm都是适

2009-09-21 16:55:00 860

转载 linux 2.6内核epoll用法举例说明

epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明所用到的数据结构和函数:所用到的数据结构typedef union epoll_data {                void *ptr;                int fd;                __uint32_t u32;                __uint64_t u64;   

2009-09-21 16:53:00 548

转载 如何编写高性能的网络服务器

Scalable Network ProgrammingOr: The Quest For A Good Web Server (That Survives Slashdot)Scalable Network ProgrammingFelix von Leitner[email][email protected][/email][email][email protected][/emai

2009-09-21 16:42:00 1610

The C Programming Language(2nd Edition)

K&R C英文版,留着和中文版对比着看,可以理解的更透

2009-10-12

POSIX多线程程序设计

POSIX多线程程序设计 pdf格式 很难搜集到得资料

2009-09-15

空空如也

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

TA关注的人

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