自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(382)
  • 收藏
  • 关注

Fedoar 15开始的新网卡命名方式

Fedora 15采用了新的网卡命名方式 Consistent Network Device Naming (CNDN)。CNDN 并不是一个多大的改动,但它所引起的争论以及带来的影响却不小,看看 NetworkWorld,LWN 以及 Slashdot 上铺天盖地的争论,质疑甚至嘲讽你就知道了。当然这并不表示 CNDN 这个新功能就完全一无是处,或者是画蛇添足。CNDN 还是有一定的益处,前提是...

2012-02-01 17:38:00 186

右键添加Dos Here

1、inf文件安装方法将以下内容复制到一个文本文档中,重命名为DosHere.inf,然后右键安装即可=========================================;; "Command Prompt Here" PowerToy;; Copyright 1996 Microsoft Corporation;[version]signature="$CHICAG...

2011-04-05 22:04:00 246

新的开始,新的征程

历经两年的波折,总算能够跟爱人和宝宝在一起,在家开展自己的创业之路,虽然遥远,但是只要起步总算是有希望的;带着梦想起飞,找回属于自己的那片蓝天...

2010-12-04 13:37:00 171

Linux环境进程间通信(五): 共享内存(上)

采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完...

2010-10-19 16:20:00 92

Linux环境进程间通信(五): 共享内存(下)

系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shmid_kernel结构联系起来的),后面还将阐述。1、系统V共享内存原理进程间需要共享的数据被放在一个叫做IPC共享内存区域的地方,所有需要访问该共享区域的进程都要把该共享区域映射...

2010-10-19 16:20:00 118

openssl使用手册

OpenSSL有两种运行模式:交互模式和批处理模式。直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。(1) 配置文件OpenSSL的默认配置文件位置不是很固定,可以用openssl ca命令得知。你也可以指定自己的配置文件。当前只有三个OpenSSL命令会使用这个配置文件:ca, req, x509。有望未来版本会有更多命令使用...

2010-09-09 15:09:00 188

openssl安装配置

安装openssl# tar –zxvf openssl# cd openssl# ./config --prefix=/usr/local/openssl # make# make install加密解密传统加密(对称加密)openssl enc –ciphername...

2010-09-09 15:08:00 123

GTK+ 布局管理

在本章中,我们将讲述如何将构件布置在窗口与对话框中。当我们在设计应用程序的图形界面时,我们首先要决定的是在程序中用到哪种构件和管理应用程序中的这些构件。为了方便管理我们的构件,在GTK+通常使用不可见的构件称作layout containers. 。在本章节中,我们将设计其中的—— GtkAlignment, GtkFixed, GtkVBox 和 GtkTable.Gtk...

2010-07-29 15:52:00 132

sysbench的安装和性能测试

ysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:1、cpu性能2、磁盘io性能3、调度程序性能4、内存分配及传输速度5、POSIX线程性能6、数据库性能(OLTP基准测试)目前sysbench主要支持MySQL,pgsql,oracle...

2010-07-29 15:00:00 105

利用anjuta+glade+poedit创建一个支持国际化语言的项目

在linux系统下进行开发时,语言的国际化是一个常见的问题。也是做起来比较麻烦和费时的一个事情。不过随着Linux的不断发展,现在Linux推出了好几个工具,方便程序员进行国际化和编程。在这里,我主要介绍下如何利用anjuta创建一个工程,并且利用poedit进行国际化。详细的使用步骤:一、利用anjuta创建一个适合自己使用的工程;二、在congfigure.ac文件中加入ALL...

2010-07-28 15:56:00 132

Fedora系统下小系统制作方法

在Fedora系统下,制作小系统的具体文章可以参考http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo 。 具体的步骤如下:1. 在终端中输入setenforce 0 来关闭selinux;2. 输入export LANG=en_US.utf8 来将语言设置为英文。因为目前中午语言环境下制作livecd时,会报出ascii码不兼容...

2010-07-23 16:41:00 146

在linux下使用rsync进行同步

rsync是Linux系统下一个用于同步的工具,即可以进行远程同步,也可以用于本地同步。服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用多台服务器来提供下载服务。当一台服务器上的文件更新后,其它的服务器也需要更新,而且在更新的时候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费。rsync就是能有效的保持文件及目录的一致的优秀软件。 ...

2010-07-01 13:59:00 145

如何使用没有initrd的内核来启动U盘系统的几种方法

具体症状 目前,在Linux系统中,由于内核中U盘驱动usb-storage模块初始化比较慢,导致在U盘启动时,会出现U盘还没有启动完成,就开始挂载Linux系统分区的问题,因此导致在挂载系统时,出现找不到系统分区的情况,导致内核无法正常运行。解决思路 针对这个问题,目前可以着手进行的方法有两个:思路一:加快usb-stroage模块的初始化速度,使其能够在挂载文件系统前完成。...

2010-06-30 16:27:00 409 1

对象文件格式分析工具: objdump, nm,ar

前言如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar。当然,本文不可能非常详细的说明它们的使用方法和功能。如果你觉得本文不够清楚,你可以使用:man. 我的计划只是想让更多的人了解这些工具,以后在今后 的编程过程中能有所帮助。操作系统: Linux开始...

2010-06-25 14:57:00 148

Linux系统下开机启动时间检测工具bootchart

简介 Bootchart 是一种很方便的工具,主要用于分析Linux 系统下的启动过程,并且能够形成一个层次分明的图片,让用户很直观的查看系统启动的过程和各个过程耗费的时间,以便用户能够分析启动过程,从而进行优化以提高启动时间。它由bootchartd 服务和bootchart-render 两部分组成,后者主要负责生成启动流程的分析结果图。安装bootchart 目前,在各大Li...

2010-06-24 13:09:00 408

Linux在安全模式下修改initrd文件

我在Redhat Enterprise 5里安装了Java环境,设置了环境变量,结果环境变量设置出错了,重启Linux后无法登录,安全模式下提示如下信息:bash:dircolors:commandnotfound bash:/software/jdk1.6.0_14/lib.tools.jar:没有那个文件或目录 bash:/softwar...

2010-06-08 17:03:00 229

linux 卷组 详细笔记

项目上的linux系统越多,这方面的request也渐渐多起来了。突然接到一个客户的的需求,要在linux workstation上划分出10个G的分区。一年前,对这个case还真是不再话下,肯定是三下五除二就搞定了。可是在windows的项目上呆的久了,linux的东西几乎全还给老师和那些朋友们了。怎么办?当然没办法,还好还留有以前的笔记。于是——翻笔记呀——回忆阿—...

2010-06-07 14:33:00 515

linux /etc/fstab

有很多人经常修改/etc/fstab文件,但是其中却有很多人对这个文件所表达的意义不太清楚,因为只要按照一定的模式,就可以轻而易举地添加一行挂载信息,而不需要完全理解其中的原理。下面就让我们来看看到底还有多少是我们不了解的。 /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话...

2010-06-07 14:33:00 88

Linux LVM(逻辑卷管理)

一、 前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。 虽然现在有很多动态调整磁盘的工具可...

2010-06-07 14:31:00 88

linux lvm 扩展Volume Group Logucal Volume

通过扩展Volume Group、Logical Volume来达到扩展文件系统的大小,我的服务器是建在虚机上的,分配硬盘空间时,通过修改参数把原来硬盘加大的。[root@localhost ~]# fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, ...

2010-06-07 14:25:00 162

ESXi中Linux虚拟机LVM扩展实例

LVM是Linux下常用的磁盘管理技术,可以在线的动态扩展逻辑卷的大小,我们以ESXi中的Linux虚拟机为例说明如何使用LVM动态扩展磁盘空间。1. ESXi中为Linux虚拟机添加第二块硬盘,查看磁盘状态#fdisk -l2. 在新加的硬盘上创建分区,分区类型为8e#fdisk /dev/sdbCommand (m for help): newCommand...

2010-06-07 14:22:00 102

ubuntu 10.04使用nvidia商业驱动后,解决plymouth分辨率过问题的方法

Ubuntu10.04,x64系统。为了使用compiz桌面特效,安装了Nvidia的限制驱动,不过启动画面splash的分辨率由1440*900降低成640*480了。网上看了好多帖子,包括jorux的帖子“解决升级显卡驱...

2010-06-06 09:49:00 166

linux 内存详解

Linux在内存管理上份为两级,一级是线性区,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,对应机器上的物理内存。这里要提到一个很重要的概念,内存的延迟分配。Linux内核在用户申请内存的时候,只是给它分配了一个线性区(也就是虚存),并没有分配实际物理内存;只有当用户使用这块内存的时候,内核才会分配具体的物理页面,这时候才占用真实的物理内存。内存释放是通过虚拟地址,...

2010-05-20 11:01:00 86

Linux内存管理(下)

Linux内存管理(下)物理内存管理(页管理)Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数4k(在i386体系结构中)大小页,从而分配和回收内存的基本单位便是内存页了。利用分页管理有助于灵活分配内存地址,因为分配时不必要求必须有大块的连续内存[1]...

2010-05-19 14:51:00 60

Linux内存管理(上)

Linux内存管理(上) 收藏 Linux内存管理(上)摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在...

2010-05-19 14:49:00 77

select, poll和epoll的区别

select, poll和epoll的区别 收藏 select()系统调用提供一个机制来实现同步多元I/O:#include <sys...

2010-05-18 17:46:00 81

core dump的生成与调试

在Linux下产生并调试core文件URL: http://blog.china-pub.com/more.asp?name=uniware&id=35478先看看我用的是个什么机器:$ uname -aLinux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i...

2010-05-14 09:50:00 107

C程序内存分配

在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些...

2010-05-13 11:42:00 79

C语言编译过程总结详解(转)

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。...

2010-05-07 17:28:00 97

C语言宏的高级应用

关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) / do{ if (EXP) / fprintf(stderr, "Warning: " #EXP "/n"); } / while(0)...

2010-05-07 17:20:00 66

自加 左值

1.前置运算符和后置运算符,左值和右值。其实很久以来一直都没有怎么搞清楚左值和右值的区别,只知道左值可以放在等号的左边,也可以放在等号的右边,但是右值却只能放在等号的右边,然后形成一个大概直观的印象,知道怎么样做才不出错而已。不过今天看看C++,却发现有了点新的体会。对于表达式a--=5;这样一个表达式,明显是错误的,究其原因,是因为执行等号左边的自减表达式之后,显示取得a的值,然后才...

2010-05-07 17:19:00 95

关于自加++,左值的问题

先给出结论:i++ = 5; 错++i = 5; 对原因为何:i++的运算结果并不是i这个变量的引用,而是一个临时变量,其值为i的值,所以你无法进行以下运算: i++=5;甚至编译器不允许你对一个临时变量重新赋值,上面的表达式会引起编译错误 。左值,说得通俗一点,就是可以出现在表达式左边的值(等号左边),可以被改变。 a = 5; a是左值。 ...

2010-05-07 17:18:00 165

代码命名规则---部分编程常用单词缩写

规则:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。 完整单词缩写AaverageavgBbackbkbackgroundbgbreakbrkbufferbufC...

2010-05-04 11:25:00 130

C/C++中的函数参数传递机制

一、 函数参数传递机制的基本理论  函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。  值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主...

2010-04-30 15:23:00 79

C优先级列表

PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access...

2010-03-24 16:33:00 68

怎样及时检测出非正常断开的TCP连接(转)

此处的”非正常断开”指TCP连接不是以优雅的方式断开,如网线故障等物理链路的原因,还有突然主机断电等原因有两种方法可以检测:1.TCP连接双方定时发握手消息 2.利用TCP协议栈中的KeepAlive探测第二种方法简单可靠,只需对TCP连接两个Socket设定KeepAlive探测,所以本文只讲第二种方法在Linux,Window2000下的实现(在其它的平台上没有作进一步的测试)Wi...

2010-03-03 14:22:00 130

Byte and Bit Order Dissection(解析字节序和比特序)

作者:Kevin He,2003-09-02 原文地址:http://www.linuxjournal.com/article/6788 译者:Love. Katherine,2007-04-14译文地址:http://blog.csdn.net/lovekatherine/archiv...

2010-03-03 10:24:00 137

C语言结构体的字节对齐原则

为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存...

2010-03-02 15:46:00 135

C语言中关键字auto、static、register、const、volatile、extern的作用

1)auto  这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register  这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 (3)static  常见的两种用途:   ...

2010-03-01 16:19:00 86

堆与栈的区别

一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态...

2010-03-01 15:45:00 80

空空如也

空空如也

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

TA关注的人

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