<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dds_dev_group的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dds_dev_group</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dds_dev_group]]></copyright><item><title><![CDATA[字符串IP和数字转换的杂谈]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/7060107</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/7060107</guid><author>dds_dev_group</author><pubDate>Sat, 10 Dec 2011 19:47:24 +0800</pubDate><description><![CDATA[long ip_to_value(const string& strIP)//低字节在后，高字节在前
{
    int a[4];
    string IP = strIP;
    string strTemp;
    size_t pos;
    size_t i=3;

    do
    {
        pos = IP.find(".");

        if(pos]]></description><category></category></item><item><title><![CDATA[C++箴言：理解inline化的介入和排除]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/7021371</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/7021371</guid><author>dds_dev_group</author><pubDate>Mon, 28 Nov 2011 22:55:14 +0800</pubDate><description><![CDATA[inline 函数——多么棒的主意啊！它们看起来像函数，它们产生的效果也像函数，它们在各方面都比宏好得太多太多，而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢？ 

　　实际上你得到的可能比你想的更多，因为避免函数调用的成本只是故事的一部分。在典型情况下，编译器的优化是为了一段连续的没有函数调用的代码设计的，所以当你 inline 化一个函数，你可能就使得编译器能够对函数体]]></description><category></category></item><item><title><![CDATA[c++读二进制文件]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6976149</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6976149</guid><author>dds_dev_group</author><pubDate>Wed, 16 Nov 2011 11:10:12 +0800</pubDate><description><![CDATA[#include 
#include 

const size_t BUF_LEN = 2;

int main()
{
    using namespace std;

    ifstream sour_file( "s.dat" );
    for( char buf[BUF_LEN]; sour_file.read(buf,BUF_LEN), sour_file.gcount(); )]]></description><category></category></item><item><title><![CDATA[log4cplus server client模式]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6973847</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6973847</guid><author>dds_dev_group</author><pubDate>Tue, 15 Nov 2011 17:28:22 +0800</pubDate><description><![CDATA[在多进程使用log4cplus同时向一个日志文件写的时候，官方的FAQ建议使用SoskcetAppender, 即以server client模式来写日志，保证写日志同步。
写了一个小程序，fork出一个server进程，和5个client进程来写日志，当日志大小到达4G的时候做切割。

/*
 * ==============================================]]></description><category></category></item><item><title><![CDATA[makefile 小技巧]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6972549</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6972549</guid><author>dds_dev_group</author><pubDate>Tue, 15 Nov 2011 12:41:25 +0800</pubDate><description><![CDATA[make的时候有时会出很多的warning和error,但是和一般信息混在一起看起来非常麻烦。


这时可以把错误信息重定向到文件中，查看起来就方便多了。


make  2> haha]]></description><category></category></item><item><title><![CDATA[c语言sin函数]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6959777</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6959777</guid><author>dds_dev_group</author><pubDate>Fri, 11 Nov 2011 14:41:48 +0800</pubDate><description><![CDATA[double my_sin(double x)
{
   register double ret;
   __asm__ (
      "fsin"
      : "=t" (ret)
      : "0" (x)
   );
   return ret;
}//计算x（弧度表示）的正弦值。
int main()
{
   printf("%f/n",sin(0.5)]]></description><category></category></item><item><title><![CDATA[sql query error, 1153, Got a packet bigger than 'max_allowed_packet' bytes]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6956443</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6956443</guid><author>dds_dev_group</author><pubDate>Thu, 10 Nov 2011 15:32:18 +0800</pubDate><description><![CDATA[MYSQL error: Got a packet bigger than ‘max_allowed_packet’ bytes 
在使用 longtext 类型执行数据录入时，有时会抛出这个异常， 
从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作。 

解释一下包大小这个东西：简单来说就是mysql把当前执行的mysql语句看作是一个包， 
而对这个包大小的限制]]></description><category></category></item><item><title><![CDATA[c++中vector的遍历及元素删除]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6951441</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6951441</guid><author>dds_dev_group</author><pubDate>Wed, 09 Nov 2011 10:48:16 +0800</pubDate><description><![CDATA[#include 
#include 
using namespace std;

int main()
{
        vector test_vec;
        for (int i = 0; i<100;i++)
        {
                test_vec.push_back(i);
        }
        for(vector::iterat]]></description><category></category></item><item><title><![CDATA[DNS 101]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6948340</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6948340</guid><author>dds_dev_group</author><pubDate>Tue, 08 Nov 2011 16:09:42 +0800</pubDate><description><![CDATA[As stated earlier, DNS is a distributed
 data base. When you pay a fee to register a domain one of the questions you answer deals with your Name Servers. You have to list two and they have to be regi]]></description><category></category></item><item><title><![CDATA[MYSQL参数 DELAY_KEY_WRITE说明]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933496</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933496</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 20:21:46 +0800</pubDate><description><![CDATA[本文转自：http://dev.firnow.com/course/7_databases/mysql/Mysqljs/20100603/207726.html 


 这个参数只对MyISAM引擎表有作用。

  DELAY_KEY_WRITE是指在表关闭之前，将对表的update操作指跟新数据到磁盘，而不更新索引到磁盘，把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。]]></description><category></category></item><item><title><![CDATA[随笔]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933486</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933486</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 20:19:51 +0800</pubDate><description><![CDATA[代码重构了一下，增加了一张数据表，计算日志的时间减少了接近一半。真神奇。]]></description><category></category></item><item><title><![CDATA[MySQL中update一张表到另一张表]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933480</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6933480</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 20:17:42 +0800</pubDate><description><![CDATA[以下的文章主要介绍的是MySQL 数据库中如何将一个实际应用表的相关数据插入到另外一个表的实际操作方法，此方案看起来很简单但是并非如此，虽然这个实现起来非常简单，但是还是会困扰许多新手，因此专门发一篇文章备查。

开发中，我们经常需要将一个表的数据插入到另外一个表，有时还需要指定导入字段，虽然这个实现起来非常简单，但是还是会困扰许多新手，因此专门发一篇文章备查。

如果2张表的字段一致，并]]></description><category></category></item><item><title><![CDATA[pstack 看活动的进程内的堆栈]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932617</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932617</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 16:08:28 +0800</pubDate><description><![CDATA[今天写个多线程程序，自己用c写了一个线程池，刚开始还好使，但是跑半个小时左右就会卡死，也不知道卡在哪里，因为多线程的程序，日志也是乱七八糟的，看起来毫无头绪，上网查了一下，发现了pstack，用法如下：
pstack 进程号 >stack.txt
文件名随便起。


顺便提一下，用top查看某个进程的信息，top -p 进程号]]></description><category></category></item><item><title><![CDATA[sscanf的详细用法]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932613</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932613</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 16:07:46 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/kex1n/archive/2011/06/09/2076501.html]]></description><category></category></item><item><title><![CDATA[libcurl]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932605</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6932605</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 16:06:41 +0800</pubDate><description><![CDATA[今天遇到两个奇怪的问题，都是关于libcurl的，可能是这个库本身的bug，记下来好了
1：

int OUtSourceImp(const char * post_url, const char * post_data)
{
CURL *curl;   
CURLcode res;   
FILE *fptr;   
int res_code = 0;
……
}

这样一]]></description><category></category></item><item><title><![CDATA[c++如何判断一个字符串是否只有可见字符]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6931806</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6931806</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 13:22:21 +0800</pubDate><description><![CDATA[#include
 #include
#include
#include 
#include 
using   namespace   std;
int   main()
{
        string   str="Hello   World!1234567890~!@#$%^&*()_+|";
        char c = 150;
        str += c;]]></description><category></category></item><item><title><![CDATA[linux 中的top命令下的VIRT RES]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6931337</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6931337</guid><author>dds_dev_group</author><pubDate>Thu, 03 Nov 2011 11:08:40 +0800</pubDate><description><![CDATA[VIRT：


1、进程“需要的”虚拟内存大小，包括进程使用的库、代码、数据等

2、假如进程申请100m的内存，但实际只使用了10m，那么它会增长100m，而不是实际的使用量


RES：


1、进程当前使用的内存大小，但不包括swap out

2、包含其他进程的共享

3、如果申请100m的内存，实际使用10m，它只增长10m，与VIRT相反

4、关于库]]></description><category></category></item><item><title><![CDATA[linux 下遍历文件夹下的所有文件]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6927610</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6927610</guid><author>dds_dev_group</author><pubDate>Wed, 02 Nov 2011 10:51:37 +0800</pubDate><description><![CDATA[linux C 遍历目录及其子目录


#include   
#include   
#include   
#include   
#include   
#include   
#include   
using namespace std;
void listDir(char *path)  
{  
        DIR              *pDir]]></description><category></category></item><item><title><![CDATA[c语言中的线程池]]></title><link>https://blog.youkuaiyun.com/dds_dev_group/article/details/6925848</link><guid>https://blog.youkuaiyun.com/dds_dev_group/article/details/6925848</guid><author>dds_dev_group</author><pubDate>Tue, 01 Nov 2011 18:22:27 +0800</pubDate><description><![CDATA[c语言中没有线程池，但是项目要用到，于是就从网上找了个代码，根据我的情况改了改，大体可以用了。
大概的过程是这样的。
1）初始化线程池，指定最大线程数；
2）将工作线程添加到线程池的等待队列中；
3）创建线程；
4）依次执行线程，等待队列中没有线程的话，线程就会彻底退出了；
5）等待所有线程结束；
6）销毁线程，退出。




PS: 下面的代码有轻微的内存泄露，有没有人可]]></description><category></category></item></channel></rss>