<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[稻草人]]></title><description><![CDATA[my code, my life~~]]></description><link>https://blog.youkuaiyun.com/shankeliupo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shankeliupo]]></copyright><item><title><![CDATA[About 进程挂起]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/41843403</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/41843403</guid><author>shankeliupo</author><pubDate>Wed, 10 Dec 2014 10:49:17 +0800</pubDate><description><![CDATA[对于挂起，一直处于模糊理解 状态，知道有这么个东西，而不知道它具体如何工作的，更迷惑这个挂起和swap 有什么关系；
这里先说一下自己的理解，而后再贴上博文的内容。


挂起就是由于种种原因，我们让进程处于静止状态，说白了就是让进程不能立即执行，当然我们将一个进程的全部内存都放入虚存中，当然也是满足这个条件的，所以我们将全部放入虚存中的就绪进程叫做静止就绪状态；
而我们平常主动挂起的进程]]></description><category></category></item><item><title><![CDATA[虚拟内存]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/41843399</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/41843399</guid><author>shankeliupo</author><pubDate>Wed, 10 Dec 2014 10:48:17 +0800</pubDate><description><![CDATA[1、用户编制程序时使用的地址称为虚地址或逻辑地址，其对应的存储空间称为虚存空间或逻辑地址空间；而计算机物理内存的访问地址则称为实地址或物理地址，其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。


2、在三级存储体系中，cache-主存和主存-辅存这两个存储层次有许多相同点：



(1)出发点相同：二者都是为了提高存储系统的性能价格比而]]></description><category></category></item><item><title><![CDATA[鸟哥的私房菜-读书笔记]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/41843361</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/41843361</guid><author>shankeliupo</author><pubDate>Wed, 10 Dec 2014 10:46:40 +0800</pubDate><description><![CDATA[1、FAT的文件系统经常需要进行碎片整理，那么EXT文件系统是否需要磁盘整理？
（1）什么是碎片整理：经常听到的碎片整理就是文件写入的block太过于离散了，此时文件的读取性能将会变得很差，这个时候通过碎片整理将同一个文件所属的block汇合在一起，这样数据的读取比较容易。
（2）由于Ext系统是索引式文件系统，基本上不太需要进行碎片整理的，但如果文件系统使用太久，经常删除/编辑/新增文件是。]]></description><category></category></item><item><title><![CDATA[操作系统临时复习笔记]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/41843337</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/41843337</guid><author>shankeliupo</author><pubDate>Wed, 10 Dec 2014 10:45:02 +0800</pubDate><description><![CDATA[1、进程的实质是进程实体的一次执行过程。


2、
PCB是进程存在的唯一标识，OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB是OS中最重要的纪录型数据结构；
PCB中记录了OS所需的，用于描述进程的当前情况以及控制进程运行的全部信息。
PCB的作用是是是一个在多道程序环境下不能独立运行的程序，成为一个能独立运行的基本单位，一个能与其他进程并发执行的进程。


]]></description><category></category></item><item><title><![CDATA[高司令你还在吗]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/41514239</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/41514239</guid><author>shankeliupo</author><pubDate>Wed, 26 Nov 2014 12:50:02 +0800</pubDate><description><![CDATA[赋值运算



 以前真的没注意到这两个东西的区别呢。
第一个语句，可以很容易的看出s的类型首先由short提升为int,然后s+6的结果要赋值给s这样的短类型,那么这就存在一个精度损失的问题，所以会产生警告。然后代码根本就编译不通过的。


而java对于+=的处理机制与前一条语句不同：（网上的说法）


而在c/c++的IDE中：编译是通过的，并且没有警告。]]></description><category></category></item><item><title><![CDATA[读博文《二维指针和二维数组可以互用吗？》有感]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/38563441</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/38563441</guid><author>shankeliupo</author><pubDate>Thu, 14 Aug 2014 20:58:14 +0800</pubDate><description><![CDATA[博文地址：http://blog.sina.com.cn/s/blog_6237dcca0100hham.html]]></description><category></category></item><item><title><![CDATA[相邻字符串常量将会自动合并成一个字符串]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/38477517</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/38477517</guid><author>shankeliupo</author><pubDate>Sun, 10 Aug 2014 23:28:58 +0800</pubDate><description><![CDATA[如果有代码如下：]]></description><category></category></item><item><title><![CDATA[MySQL 设置允许远程登录]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/32102659</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/32102659</guid><author>shankeliupo</author><pubDate>Wed, 18 Jun 2014 11:41:38 +0800</pubDate><description><![CDATA[1、修改数据表

可能是你的帐号不允许从远程登陆，只能在localhost。这个时候只要在 localhost 的那台电脑，登入MySQL后，更改 “MySQL” 数据库里的 “user” 表里的 “Host” 项，从“localhost”改称“%”，%表示所有机器都允许。






[sql] view
 plaincopy






mysql> use ]]></description><category></category></item><item><title><![CDATA[C语言隐式类型转换]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/28113167</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/28113167</guid><author>shankeliupo</author><pubDate>Mon, 02 Jun 2014 17:02:52 +0800</pubDate><description><![CDATA[隐式类型转换分三种，即算术转换、赋值转换和输出转换。


1．算术转换


    进行算术运算（加、减、乘、除、取余以及符号运算）时，不同类型数招必须转换成同 一类型的数据才能运算，算术转换原则为：

   整型提升：对于所有比int小的类型，包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型]]></description><category></category></item><item><title><![CDATA[如果你看到“f()();”第一反应是什么？]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/27962993</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/27962993</guid><author>shankeliupo</author><pubDate>Sun, 01 Jun 2014 12:43:34 +0800</pubDate><description><![CDATA[//类型别名，为了f()的声明简洁明了
typedef void (*pfun)();

void fun()
{
    cout<<"I am in fun()"<<endl;
}

//定义一个可以返回函数指针的函数
pfun f()
{
    return &fun;
}

int main()
{
    f()();
    return EXIT_SUCCESS;
}]]></description><category></category></item><item><title><![CDATA[如果程序中同时出现了typedef和#define,编译器会怎么办？]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/27962187</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/27962187</guid><author>shankeliupo</author><pubDate>Sun, 01 Jun 2014 12:13:12 +0800</pubDate><description><![CDATA[今天看书的时候，无意间写出]]></description><category></category></item><item><title><![CDATA[类相互包含引用的问题--类前向声明]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/26139701</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/26139701</guid><author>shankeliupo</author><pubDate>Sun, 18 May 2014 11:48:43 +0800</pubDate><description><![CDATA[在构造自己的类时，有可能会碰到两个类之间的相互引用问题，例如：定义了类A类B，A中使用了B定义的类型，B中也使用了A定义的类型]]></description><category></category></item><item><title><![CDATA[常用的16个c/c++面试题]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/23139203</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/23139203</guid><author>shankeliupo</author><pubDate>Mon, 07 Apr 2014 23:58:58 +0800</pubDate><description><![CDATA[1. C中static有什么作用





　　（1）隐藏。 当我们同时编译多个文件时，所有未加static前缀的全局变量和函数都具有全局可见性，故使用static在不同的文件中定义同名函数和同名变量，而不必担心命名冲突。

　　（2）static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化，也是唯一的一次初始化。共有两种变量存储在静态存]]></description><category></category></item><item><title><![CDATA[关于“指针在任何情况下都可进行>, <, >=, <=, = =运算”的判断]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/22791851</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/22791851</guid><author>shankeliupo</author><pubDate>Wed, 02 Apr 2014 13:10:29 +0800</pubDate><description><![CDATA[在《求职之道》上看到了“指针在任何情况下都可进行>, =, ”的判断题，
脑中无解，便去百度搜了下，可是发现大多数人都说这个命题是正确的，当然也有不同意见的。



意见一：
指针是一个特殊的变量，它里面存储的数值被解释成为内存里的一个地址，可看成整型变量。 
如果仅仅是指针比较，其实就是整型变量比较，当然任何情况下都可以进行比较运算
意见二：
1.指针是地址就和一般数据一样，但地址不]]></description><category></category></item><item><title><![CDATA[各类排序算法时间复杂度和空间度对比]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/22392913</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/22392913</guid><author>shankeliupo</author><pubDate>Fri, 28 Mar 2014 12:59:09 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[C++虚继承问题]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/21818171</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/21818171</guid><author>shankeliupo</author><pubDate>Sat, 22 Mar 2014 20:16:03 +0800</pubDate><description><![CDATA[学过C++的人都知道，里面有个虚拟继承是为了使得类多重继承方式下成员名称二义性的问题的。
假如我们定义一个普通类A，然后定义两个普通类B，C都来继承A，最后我们定义一个普通类D类多重继承B和C，那么现在我们每一个D的实例对象中都有两份A的数据和方法。
所以我们如果使用基类A中某个方法时就会产生二义性的问题。
故而，虚拟继承应运而生，有了虚拟继承，每构造基类时就会检查该类是否已经存在了。故而能]]></description><category></category></item><item><title><![CDATA[Ubuntu与MySql]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/20395317</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/20395317</guid><author>shankeliupo</author><pubDate>Mon, 03 Mar 2014 20:16:30 +0800</pubDate><description><![CDATA[UBUNTU下彻底卸载MYSQL
1、删除 mysql


1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常]]></description><category></category></item><item><title><![CDATA[poj 1038 - Bugs Integrated, Inc.(状态压缩dp)]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/13615319</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/13615319</guid><author>shankeliupo</author><pubDate>Tue, 29 Oct 2013 23:36:10 +0800</pubDate><description><![CDATA[题意：
    从n*m的矩阵中裁剪2*3的小矩形，其中有些方块不能用【题目以坐标方式给出】，问最多可以得到多少小矩形。
思路：
      要知道能否以当前行作为小矩形的最后一行，需要知道以上三行的状态信息，因为我们切割的时候可以横着也可以竖着。
    同时由于一旦 方格 （x-1, y）被黑色记号或其他芯片占据，则方格（x-2,y）即便空闲对第 x行芯片的放置也毫无意义,]]></description><category></category></item><item><title><![CDATA[hdu 1517 - A Multiplication Game(博弈)]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/13505007</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/13505007</guid><author>shankeliupo</author><pubDate>Tue, 29 Oct 2013 11:46:31 +0800</pubDate><description><![CDATA[这道题目稍微上点难度了。


 题意：(from:http://www.cnblogs.com/kuangbin/archive/2011/08/29/2158581.html)
    2 个人玩游戏，从 1 开始，轮流对数进行累乘，直到超过一个指定的值。
 
解题思路：
    如果输入是     2 ~ 9        ，因为Stan 是先手，所以Stan 必胜    
    如]]></description><category></category></item><item><title><![CDATA[hdu 1848 - Fibonacci again and again(简单博弈)]]></title><link>https://blog.youkuaiyun.com/shankeliupo/article/details/13428503</link><guid>https://blog.youkuaiyun.com/shankeliupo/article/details/13428503</guid><author>shankeliupo</author><pubDate>Tue, 29 Oct 2013 00:02:51 +0800</pubDate><description><![CDATA[裸的sg函数题目
代码如下：

const int M = 1005;
int f[M], sg[M];
void getSG()
{
        sg[0] = 0;
        for(int i = 1; i < M; ++i) {
                bool vis[M];
                memset(vis,0,sizeof(vis));
 ]]></description><category></category></item></channel></rss>