<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[palm_m的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/palm_m</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; palm_m]]></copyright><item><title><![CDATA[如何测试centos7.x crash 工具]]></title><link>https://blog.csdn.net/palm_m/article/details/90274637</link><guid>https://blog.csdn.net/palm_m/article/details/90274637</guid><author>palm_m</author><pubDate>Fri, 17 May 2019 00:24:10 +0800</pubDate><description><![CDATA[检测内核配置

挂载iso，配置本地yun源

安装kexec

安装kdump工具

通过vmlinuxz-* 压缩内核获得 vmlinux 非压缩内核

extract-vmlinux /boot/vmlinuxz-* &gt; vmlinux

压缩内核的查看,解压压缩内核的查看

file /boot/vmlinuxz-*

file /boot/vmlinux

运行crash工具...]]></description><category></category></item><item><title><![CDATA[c++重载函数调用运算符]]></title><link>https://blog.csdn.net/palm_m/article/details/77148494</link><guid>https://blog.csdn.net/palm_m/article/details/77148494</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 17:57:46 +0800</pubDate><description><![CDATA[#include
using namespace std;
class toInt
{
	public:
	toInt(int a){
		cout<<"toInt construct"<<endl;
	}
	int operator()(int val)
	{
		cout<<"int operator()(int val)"<<endl;
		return val+10;
	}
};
int ]]></description><category></category></item><item><title><![CDATA[配置samba服务--centos7.x]]></title><link>https://blog.csdn.net/palm_m/article/details/77148289</link><guid>https://blog.csdn.net/palm_m/article/details/77148289</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 17:33:01 +0800</pubDate><description><![CDATA[安装 samba rpm包
samba.x86_64 : Server and Client software to interoperate with Windows machines
查看selinux 
getenforce

临时关闭selinux

setenforce 0
永久关闭selinux ，修改/etc/selinux/config配置文件中SELINUX 为 ]]></description><category></category></item><item><title><![CDATA[冒泡排序]]></title><link>https://blog.csdn.net/palm_m/article/details/77146242</link><guid>https://blog.csdn.net/palm_m/article/details/77146242</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 16:59:47 +0800</pubDate><description><![CDATA[#include
#include
void sort(int* arr,int size)
{
	int i=0,j=0,tmp;
	if(size <=0)
		return ;
	for(;i<size;i++)
	{
		//for(j=i;j<size;j++) //this sentence is ok
		for(j=size;j>i;j--) //this sentence is ]]></description><category></category></item><item><title><![CDATA[二级函数指针]]></title><link>https://blog.csdn.net/palm_m/article/details/77146097</link><guid>https://blog.csdn.net/palm_m/article/details/77146097</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 16:46:02 +0800</pubDate><description><![CDATA[#include
#include
typedef int (*fp)(int,int);
typedef int (**sfp)(int,int);
int add (int a,int b)
{
	return a+b;
}
int main()
{
	fp fp_m=&add;

	fp_m(1,2);
	(*fp_m)(1,2); 	//函数指针和函数名指向地址相同

	//sfp sfp]]></description><category></category></item><item><title><![CDATA[C和C++的一点小区别]]></title><link>https://blog.csdn.net/palm_m/article/details/77145899</link><guid>https://blog.csdn.net/palm_m/article/details/77145899</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 16:25:03 +0800</pubDate><description><![CDATA[编译时不能确定的值不要放在全局局域初始初始化，否则C编译器会报警告或者错误
报错情况

#include
#include
int add(int a ,int b)
{
	return a+b;
}
const int c = add(1,2);	//编译时不能确定值
int main()
{
	printf("%d\n",c);
	return 0;
}]]></description><category></category></item><item><title><![CDATA[函数指针]]></title><link>https://blog.csdn.net/palm_m/article/details/77142163</link><guid>https://blog.csdn.net/palm_m/article/details/77142163</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 14:35:51 +0800</pubDate><description><![CDATA[//main.c
#include
#include

int (*fp)(int,int); //declare a variable
typedef int (*tfp)(int,int); //define a type function pointer
int add(int rnum,int lnum)
{
	return rnum+lnum;
}

int main()
{
	tfp]]></description><category></category></item><item><title><![CDATA[自己实现memcpy]]></title><link>https://blog.csdn.net/palm_m/article/details/77142080</link><guid>https://blog.csdn.net/palm_m/article/details/77142080</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 14:20:21 +0800</pubDate><description><![CDATA[#include
#include
#include
void memcpy_my(void *dst,const void *src,size_t len)
{
	char *s = src;
	char *d = dst;
	assert(len >0);
	while(len--)
	{		
		*d++ = *s++;
	}
	return ;
}
int main()
{	
	char ]]></description><category></category></item><item><title><![CDATA[数组和指针的区别]]></title><link>https://blog.csdn.net/palm_m/article/details/77141931</link><guid>https://blog.csdn.net/palm_m/article/details/77141931</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 14:06:24 +0800</pubDate><description><![CDATA[数组和指针的区别
//head.h
#define ARRLEN 1024
int arr[ARRLEN]

//main.cpp
#include
#include"head.h"
using namespace std;

extern int *arr;	//this is error 
//extern int arr[]; //this is ok

int main(void)
{]]></description><category></category></item><item><title><![CDATA[自己实现string<char>类]]></title><link>https://blog.csdn.net/palm_m/article/details/77141865</link><guid>https://blog.csdn.net/palm_m/article/details/77141865</guid><author>palm_m</author><pubDate>Sun, 13 Aug 2017 13:44:29 +0800</pubDate><description><![CDATA[自己实现string<char>类]]></description><category></category></item></channel></rss>