<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陈冲的博客]]></title><description><![CDATA[每天超越自己一点点...]]></description><link>https://blog.youkuaiyun.com/chenchong08</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenchong08]]></copyright><item><title><![CDATA[consul分布式集群搭建&简单功能测试&故障恢复]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/77885989</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/77885989</guid><author>chenchong08</author><pubDate>Thu, 07 Sep 2017 20:12:39 +0800</pubDate><description><![CDATA[搭建拥有三个节点的consul集群，并做了简单的数据存取同步测试，后面主要研究了当consul集群出现故障的时候如何恢复consul集群]]></description><category></category></item><item><title><![CDATA[C++用typedef定义函数指针类型typedef可以用于定义函数指针类型]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/8795655</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/8795655</guid><author>chenchong08</author><pubDate>Fri, 12 Apr 2013 23:45:09 +0800</pubDate><description><![CDATA[【语法】
typedef  (*)(参数表)
typedef  (::*)(参数表)
【用途】
1、可以用来定义该函数类型的函数指针，就不用每次使用函数指针都要写一次函数原型了；
2、有了类型名，就可以使用在容器里面，譬如map，用于实现灵活的函数调用。
【示例】
例1：
typedef void (*PF)(int x);
void func1(int x){ cout
vo]]></description><category></category></item><item><title><![CDATA[linux进程后台运行的几种方法]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/8160034</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/8160034</guid><author>chenchong08</author><pubDate>Fri, 15 Feb 2013 20:50:27 +0800</pubDate><description><![CDATA[我们经常会碰到这样的问题，用 telnet/ssh 登录了远程的 Linux 服务器，运行了一些耗时较长的任务， 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢？下面举了一些例子， 您可以针对不同的场景选择不同的方式来处理这个问题。
 

如果只是临时有一个命令需要长时间运行，什么方法能最简便的保证它在后台稳定运行呢？ 

在 Unix]]></description><category></category></item><item><title><![CDATA[Linux启动过程详解]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/8079189</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/8079189</guid><author>chenchong08</author><pubDate>Tue, 16 Oct 2012 22:36:48 +0800</pubDate><description><![CDATA[随着Linux的应用日益广泛，特别是在网络应用方面，有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距，所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的，目前Linux的擅长应用领域是单一应用的基础服务器应用，譬如DNS和DHCP服务器、Web服务器、目录服务器、防火墙、文件和打印服]]></description><category></category></item><item><title><![CDATA[Linux开发中常见段错误问题原因分析]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/8008271</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/8008271</guid><author>chenchong08</author><pubDate>Sat, 22 Sep 2012 20:35:33 +0800</pubDate><description><![CDATA[1 使用非法的内存地址（指针），包括使用未经初始化及已经释放的指针、不存在的地址、受系统保护的地址，只读的地址等，这一类也是最常见和最好解决的段错误问题，使用GDB print一下即可知道原因。
 
2 内存读/写越界。包括数组访问越界，或在使用一些写内存的函数时，长度指定不正确或者这些函数本身不能指定长度，典型的函数有strcpy(strncpy)，sprintf(snprint)等等。]]></description><category></category></item><item><title><![CDATA[GDB调试的一些很有用经验]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7935723</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7935723</guid><author>chenchong08</author><pubDate>Sun, 02 Sep 2012 22:27:30 +0800</pubDate><description><![CDATA[1.      
gdb调试，如果有参数，可以在run命令后加，也可以使用set args ；如果是使用gdbserver+gdb的远程调试方式，参数可以在gdbserver后面加。
2.      
gdbserver通过网络远程调试一个正在运行的进程：gdbserver IP:PORT –attach PID
3.      
gdb显示：.dynamic section for “]]></description><category></category></item><item><title><![CDATA[Window平台使用VS2010简单快速搭建QT开发环境]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7922347</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7922347</guid><author>chenchong08</author><pubDate>Wed, 29 Aug 2012 23:44:11 +0800</pubDate><description><![CDATA[QT是个开源免费跨平台的图形界面开发软件，在Windows平台用它来写写一些小小的工具软件（比如串口调试软件、报文分析软件）还是不错的。
    在Windows平台，如果使用VS软件来作为QT的开发环境，它的环境配置还是很简单的。
    以当前最新的QT4.8.2为例，用户只需下载QT的Windows库：qt-win-opensource-4.8.2-vs2010.exe和VS2010的Q]]></description><category></category></item><item><title><![CDATA[gcc中文手册-搞Linux开发的有空应该多看看]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7871113</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7871113</guid><author>chenchong08</author><pubDate>Wed, 15 Aug 2012 22:34:23 +0800</pubDate><description><![CDATA[gcc

认为预处理后的文件(.i)是C文件,并且设定C形式的连接.

g++

认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接.

源文件后缀名指出语言种类以及后期的操作:

c C源程序;预处理,编译,汇编

C C++源程序;预处理,编译,汇编

cc C++源程序;预处理,编译,汇编

cxx C++源程序;预处理,编译,汇编

m O]]></description><category></category></item><item><title><![CDATA[Linux中profile、bashrc、bash_profile之间的区别和联系]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7833242</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7833242</guid><author>chenchong08</author><pubDate>Sun, 05 Aug 2012 22:24:14 +0800</pubDate><description><![CDATA[/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
英文描述为：

# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases]]></description><category></category></item><item><title><![CDATA[返回值类型为unsigned long long的函数永远返回为0的问题解决]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7803824</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7803824</guid><author>chenchong08</author><pubDate>Wed, 01 Aug 2012 00:42:24 +0800</pubDate><description><![CDATA[今天帮同事解决了一个很奇怪的问题，一个定义返回值为unsigned long long的函数在实际调用中竟然永远返回0，就算你在此函数内返回任意整数调用者获得的都是0.
    硬件平台为PPC8313，操作系统为嵌入式Linux，编译器为g++的交叉编译器，版本为4.2.2.
    环境比较复杂，但问题简化后总共涉及三个文件，liba.h定义一些函数接口和liba.cpp实现liba.h定]]></description><category></category></item><item><title><![CDATA[vimtutor-很好的vim学习文章]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7782729</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7782729</guid><author>chenchong08</author><pubDate>Tue, 24 Jul 2012 23:39:53 +0800</pubDate><description><![CDATA[===============================================================================
=    W e l c o m e   t o   t h e   V I M   T u t o r    -    Version 1.5      =
======================================]]></description><category></category></item><item><title><![CDATA[fibonacci数列C++语言多种实现]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7720450</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7720450</guid><author>chenchong08</author><pubDate>Sun, 22 Jul 2012 22:40:47 +0800</pubDate><description><![CDATA[转载时请注明出处和作者联系方式
文章出处：http://blog.youkuaiyun.com/chenchong08
作者联系方式：vision_chen@yeah.net
斐波纳契数列（Fibonacci Sequence），又称黄金分割数列，指的是这样一个数列：
    1、1、2、3、5、8、13、21、... ...
在数学上，斐波纳契数列以如下被以递归的方法定义：f(0)=1, f(1)]]></description><category></category></item><item><title><![CDATA[在main()之前和之后调用自己的函数]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7742425</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7742425</guid><author>chenchong08</author><pubDate>Fri, 13 Jul 2012 00:31:40 +0800</pubDate><description><![CDATA[转载时请注明出处和作者联系方式
文章出处：http://blog.youkuaiyun.com/chenchong08
作者联系方式：vision_chen@yeah.net
下面给出一个可移植的在main()函数之前和之后调用自己函数的一种实现方式：
借助全局变量先于main()构造和后于main()析构的原理。
#include 
#include 

void before_main()]]></description><category></category></item><item><title><![CDATA[Linux远程编译]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7727063</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7727063</guid><author>chenchong08</author><pubDate>Sun, 08 Jul 2012 23:13:41 +0800</pubDate><description><![CDATA[转载时请注明出处和作者联系方式
文章出处：http://blog.youkuaiyun.com/chenchong08
作者联系方式：vision_chen@yeah.net
嵌入式Linux的开发环境主要为以下两种：
1.虚拟机装Linux，使用虚拟机里面的的eclipse或者kde等软件编写编译代码；
2.虚拟机装Linux，使用VC写代码，然后用autotool等工具生成Makefile或者干]]></description><category></category></item><item><title><![CDATA[VxWorks RTP工程ELF文件大小优化]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7705930</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7705930</guid><author>chenchong08</author><pubDate>Sun, 01 Jul 2012 01:05:10 +0800</pubDate><description><![CDATA[VxWorks6.8提供了两套编译器：一套为diab系列编译器，为VxWorks传统的编译器；另一套为GNU系列的编译器，主要用来编译RTP工程。
    RTP工程所使用的GNU系列编译环境可以使我们的基于嵌入式Linux的项目无缝地移植到VxWorks里面，在我们的实际使用中除了编译出来的文件大小比Linux的交叉编译工具链编译出来的文件大一倍左右外，基本上没什么区别了。刚开始的时候项目比较]]></description><category></category></item><item><title><![CDATA[BASH编程中会遇到的24个陷阱]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7697770</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7697770</guid><author>chenchong08</author><pubDate>Thu, 28 Jun 2012 22:12:05 +0800</pubDate><description><![CDATA[1. for i in `ls *.mp3`
常见的错误写法：
for i in `ls *.mp3`; do    # 错误!
为什么错误呢？因为for...in语句是按照空白来分词的，包含空格的文件名会被拆成多个词。
如遇到 “01 - Don't Eat the Yellow Snow.mp3” 时，i的值会依次取 01，-，Don't，等等。
用双引号也不行，它会将ls *.mp]]></description><category></category></item><item><title><![CDATA[Linux中有趣和有用的run文件]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7683945</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7683945</guid><author>chenchong08</author><pubDate>Thu, 21 Jun 2012 20:37:19 +0800</pubDate><description><![CDATA[Linux中有趣和有用的run文件
    转载时请注明出处和作者联系方式文章出处：http://blog.youkuaiyun.com/chenchong08作者联系方式：vision_chen@yeah.net
    最近在重整部门的VC+Linux的编译平台.作为一个编译平台,里面肯定会有很多的include和library目录等，以前发给部门同事使用的时候都是使用压缩包或压缩包+shell的方法]]></description><category></category></item><item><title><![CDATA[C++类所占内存大小计算]]></title><link>https://blog.youkuaiyun.com/chenchong08/article/details/7620984</link><guid>https://blog.youkuaiyun.com/chenchong08/article/details/7620984</guid><author>chenchong08</author><pubDate>Thu, 31 May 2012 19:27:19 +0800</pubDate><description><![CDATA[C++类所占内存大小计算
转载时请注明出处和作者联系方式
文章出处：http://blog.youkuaiyun.com/chenchong08
作者联系方式：vision_chen@yeah.net
说明：笔者的操作系统是32位的。
class A {}; 
sizeof( A ) = ?
sizeof( A ) = 1
明明是空类，为什么编译器说它是1呢？
空类同样可以实例化，每个实例在]]></description><category></category></item></channel></rss>