<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wjatchd的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wjatchd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wjatchd]]></copyright><item><title><![CDATA[讨论virtual析构函数]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/44997659</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/44997659</guid><author>wjatchd</author><pubDate>Sat, 11 Apr 2015 18:31:01 +0800</pubDate><description><![CDATA[1、什么时候需要virtual析构函数？ 
polymorphic（带多态性质的）base class应该声明一个virtual析构函数。就是说，如果class带有任何virtual函数，它就应该有一个virtual析构函数。#include <cstdio>
#include <cstring>class Base
{
public:
    Base(const char *s)
    {]]></description><category></category></item><item><title><![CDATA[欢迎使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/44996963</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/44996963</guid><author>wjatchd</author><pubDate>Sat, 11 Apr 2015 17:10:42 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[ubuntu以文本方式启动]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/9173667</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/9173667</guid><author>wjatchd</author><pubDate>Tue, 25 Jun 2013 21:27:34 +0800</pubDate><description><![CDATA[vim /etc/default/grub
GRUB_CMGLINE_LINUX_DEFAULT="quiet splash"修改成="text"
update-grub
reboot]]></description><category></category></item><item><title><![CDATA[windows杀死进程]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/9163373</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/9163373</guid><author>wjatchd</author><pubDate>Mon, 24 Jun 2013 16:29:38 +0800</pubDate><description><![CDATA[bool KillProcess(std::string strProcessName)
{
	if ("" == strProcessName)
	{
		return false;
	}

	HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	if (INVALID_HANDLE_VALUE ==]]></description><category></category></item><item><title><![CDATA[windows删除目录]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8905228</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8905228</guid><author>wjatchd</author><pubDate>Thu, 09 May 2013 13:46:28 +0800</pubDate><description><![CDATA[#include 

void DeleteFolder(LPCTSTR strPath)
{
	HANDLE hFile;
	WIN32_FIND_DATA fndInfo;
	CString strPathName,strSubFileName;

	strPathName.Format(_T("%s\\*.*"), strPath);//wildcard 通配符
	hFil]]></description><category></category></item><item><title><![CDATA[unicode和中文]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8889455</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8889455</guid><author>wjatchd</author><pubDate>Mon, 06 May 2013 10:47:01 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

int main(void)
{
	setlocale(LC_ALL,"chs");

	wchar_t p[]=L"world你dog好hello程序员";

	int len=wcslen(p);
	std::cout<<"len: "<<len<<std::endl;

	for (int i=0;i<l]]></description><category></category></item><item><title><![CDATA[wireshark 远程抓包]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8844094</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8844094</guid><author>wjatchd</author><pubDate>Wed, 24 Apr 2013 12:48:56 +0800</pubDate><description><![CDATA[1、在远程主机上开启rpcapd服务
以windows为例，确认已经安装WinPcap，切换到WinPcap目录，运行
rpcapd    -b    ip地址    -p    端口号    -l    允许远程抓包的主机的ip    -n
rpcapd的具体用法可以通过rpcapd -h查询。
2、打开本机wireshark，Capture---->Options---->Manage]]></description><category></category></item><item><title><![CDATA[应用程序无法启动 并行配置不正确]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8843574</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8843574</guid><author>wjatchd</author><pubDate>Wed, 24 Apr 2013 11:17:25 +0800</pubDate><description><![CDATA[问题 ：程序在自己的机器上编译通过，且运行正常，复制到另外一台机器上，运行时提示“应用程序无法启动 并行配置不正确”。
可能的一个原因是缺少visual c++的32位运行库vcredist_x86.exe。如果在编译之前选择“在静态库中使用mfc”，可以避免运行时出现这样的错误。]]></description><category></category></item><item><title><![CDATA[inet_ntoa 的问题]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8751179</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8751179</guid><author>wjatchd</author><pubDate>Tue, 02 Apr 2013 14:10:01 +0800</pubDate><description><![CDATA[将网络地址转换成点分十进制的字符串格式。inet_ntoa返回一个char *，而这个char *的空间是在inet_ntoa里面静态分配的，所以inet_ntoa后面的调用会覆盖上一次的调用。]]></description><category></category></item><item><title><![CDATA[抓包程序丢包的问题]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8702427</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8702427</guid><author>wjatchd</author><pubDate>Thu, 21 Mar 2013 17:55:22 +0800</pubDate><description><![CDATA[出现丢包的原因可能是缓冲区太小了：
1、调用pcap_set_buffer_size调整应用程序缓冲区的大小。
2、如果使用wincap，还可以调用pcap_setbuff设置内核缓冲区的大小。
 
一般的，程序设置对抓包效率影响有限，关键因素还是回调函数的处理速度，还有主机的硬件性能，如网卡、cpu、硬盘。]]></description><category></category></item><item><title><![CDATA[ssh不能连接虚拟机的问题]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8699136</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8699136</guid><author>wjatchd</author><pubDate>Thu, 21 Mar 2013 00:08:07 +0800</pubDate><description><![CDATA[ssh无法连接虚拟机？
1、保证主机和虚拟机能够相互ping通。
2、虚拟机安装了sshd ： sudo apt-get install openssh-server。]]></description><category></category></item><item><title><![CDATA[winmm.dll 和 ws2_32.dll 简单介绍]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8692505</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8692505</guid><author>wjatchd</author><pubDate>Tue, 19 Mar 2013 16:44:38 +0800</pubDate><description><![CDATA[winmm.dll是Windows多媒体相关的应用程序接口，用于低档的音频和游戏手柄。
ws2_32.dll是Windows Sockets应用程序接口，用于支持网络应用程序。]]></description><category></category></item><item><title><![CDATA[类继承和引用]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8674523</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8674523</guid><author>wjatchd</author><pubDate>Thu, 14 Mar 2013 18:30:39 +0800</pubDate><description><![CDATA[#include 
using std::cout;
using std::endl;

class BASE
{
public:
    BASE(int n):m_b(n){}
    ~BASE(){}
    void print(){cout<<"BASE : m_b = "<<m_b<<endl;}
private:
    int m_b;
};

cla]]></description><category></category></item><item><title><![CDATA[光盘]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8632402</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8632402</guid><author>wjatchd</author><pubDate>Mon, 04 Mar 2013 10:20:56 +0800</pubDate><description><![CDATA[CD-R：Compact Disk-Recordable，CD-R光盘写入数据后，该光盘就不能再刻写了，只能读。
 
CD-ROM：Compact Disc-Readonly Memory，只读光盘。
 
CD-RW：CD-Rewritable，可擦写光盘。]]></description><category></category></item><item><title><![CDATA[SendMessage]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8632282</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8632282</guid><author>wjatchd</author><pubDate>Mon, 04 Mar 2013 09:13:19 +0800</pubDate><description><![CDATA[{
    TCHAR szMessage[MAX_PATH];
    SendMessage(MSG_SELF_MESSAGE, nMessageType, (LPARAM)szMessage);
}
因为SendMessage要等到其发送的消息对应的处理函数返回的时候才会返回，所以传递一个局部的地址是可以的。]]></description><category></category></item><item><title><![CDATA[排序]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8611668</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8611668</guid><author>wjatchd</author><pubDate>Mon, 25 Feb 2013 23:31:40 +0800</pubDate><description><![CDATA[#ifndef HEAPSORT_H_
#define HEAPSORT_H_

template 
void Adjust(T arr[],int n,int k)
{
    T *min=((2*k+1)arr[2*k+1]) ? &arr[2*k+1] : &arr[2*k];
    if(arr[k]>*min)
    {
        T t=*min;
        *min]]></description><category></category></item><item><title><![CDATA[非递归后序遍历二叉树]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8606121</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8606121</guid><author>wjatchd</author><pubDate>Sat, 23 Feb 2013 22:53:15 +0800</pubDate><description><![CDATA[/* non-recursion postorder */
template 
void BinaryTree::PostorderNonRecursion()
{
    if(NULL==root)
    {
        return;
    }

    using std::stack;
    stack *> s;

    TreeNode *pTreeNode=root;]]></description><category></category></item><item><title><![CDATA[linux 重启网络服务]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8595162</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8595162</guid><author>wjatchd</author><pubDate>Wed, 20 Feb 2013 16:43:22 +0800</pubDate><description><![CDATA[1、service    network    restart
2、ifconfig    eth0    down        ifconfig    eth0    up
 
欢迎补充！]]></description><category></category></item><item><title><![CDATA[linux grep 命令]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8595062</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8595062</guid><author>wjatchd</author><pubDate>Wed, 20 Feb 2013 16:35:45 +0800</pubDate><description><![CDATA[这里不是要总结grep命令的详细使用方法，而是记录个人的使用经历。
 
今天在编写一个测试小程序的时候，每次运行一个库函数时，都出现"segementation default"，但是调试时却无法进入这个函数。
运行    grep    -n    -r     "函数名"     库路径
发现"函数名"是一个全局的函数指针，它在动态加载动态库时被赋值，因此才发现是加载动态库出现了问题。]]></description><category></category></item><item><title><![CDATA[类的静态成员]]></title><link>https://blog.youkuaiyun.com/wjatchd/article/details/8594974</link><guid>https://blog.youkuaiyun.com/wjatchd/article/details/8594974</guid><author>wjatchd</author><pubDate>Wed, 20 Feb 2013 16:10:18 +0800</pubDate><description><![CDATA[1、类的静态成员函数不能直接访问类的非静态数据成员。

2、类的静态数据成员必须在类声明的外面被初始化，且必须被初始化。

3、类的静态数据成员的初始化可以在.h文件中，也可以在.cpp文件中，但是只能被初始化一次。

4、类的静态成员函数可以作为线程函数。
 
欢迎补充！]]></description><category></category></item></channel></rss>