<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/coolibin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; coolibin]]></copyright><item><title><![CDATA[字节长度与打印格式]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/78065674</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/78065674</guid><author>coolibin</author><pubDate>Fri, 22 Sep 2017 17:59:34 +0800</pubDate><description><![CDATA[采用的编译器是GCC，
32位系统上
sizeof : int = 4, long = 4, long long = 8
sizeof: float = 4, double = 8, long double = 864位系统上
sizeof : int = 4, long = 8, long long = 8
sizeof: float = 4, double = 8, long doubl]]></description><category></category></item><item><title><![CDATA[长期运行程序的文件描述符泄漏问题]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/76153086</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/76153086</guid><author>coolibin</author><pubDate>Wed, 26 Jul 2017 17:13:18 +0800</pubDate><description><![CDATA[摘自https://oroboro.com/file-handle-leaks-server/



So you’ve created a socket server that opens sockets over TCP/IP. After running it for a few hours under heavy load the operating system kills yo]]></description><category></category></item><item><title><![CDATA[Close on exec by deault]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/70163376</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/70163376</guid><author>coolibin</author><pubDate>Thu, 13 Apr 2017 23:36:46 +0800</pubDate><description><![CDATA[Excuse me son, but your code is leaking !!!







I have written over the years about leaked file descriptors, and what a pain they have been to SELinux.

C on Unix many many years ago was ]]></description><category></category></item><item><title><![CDATA[键盘按键和字符的英文名]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/69831417</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/69831417</guid><author>coolibin</author><pubDate>Sun, 09 Apr 2017 16:24:15 +0800</pubDate><description><![CDATA[Key/Symbol

Explanation



Windows

PC keyboards have a Windows key that looks like a four-pane window



Command

Apple Mac computers have a command key.



Menu

PC keyboards als]]></description><category></category></item><item><title><![CDATA[“Parameter” vs “Argument”]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/69830228</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/69830228</guid><author>coolibin</author><pubDate>Sun, 09 Apr 2017 16:05:48 +0800</pubDate><description><![CDATA[A parameter is the variable which is part of the method’s signature (method declaration). An argument is an expression used when calling the method.

Consider the following code:
void Foo(int i, fl]]></description><category></category></item><item><title><![CDATA[进程与线程]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/62071515</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/62071515</guid><author>coolibin</author><pubDate>Tue, 14 Mar 2017 23:42:56 +0800</pubDate><description><![CDATA[1、多进程比多线程的缺点：
> It is difficult to share information between processes. Since the parent and
child don’t share memory (other than the read-only text segment), we must use
some form of interprocess ]]></description><category></category></item><item><title><![CDATA[The Linux Programming Interface 笔记之malloc和free的实现]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/54867374</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/54867374</guid><author>coolibin</author><pubDate>Sat, 04 Feb 2017 23:20:20 +0800</pubDate><description><![CDATA[Although
malloc() and 
free() provide an interface for allocating memory that is
much easier to use than brk() and
sbrk(), it is still possible to make various programming
errors when using them.]]></description><category></category></item><item><title><![CDATA[off-by-one(大小差一)错误介绍]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/54867187</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/54867187</guid><author>coolibin</author><pubDate>Sat, 04 Feb 2017 22:55:09 +0800</pubDate><description><![CDATA[详细了解请移步这里

off-by-one，大小差一错误是一类常见的程序设计错误。这方面有一个经典的例子OpenSSH.去Google搜索关键词“OpenSSH off-by-one”可以了解相关状况。具体来说，
1. if(id  channels_alloc)...
2. if(id = channels_alloc)...

第二句应该是正确的写法。举个更通俗的例子：
int a]]></description><category></category></item><item><title><![CDATA[当进程退出后，动态申请的内存会自动释放吗]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/54865887</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/54865887</guid><author>coolibin</author><pubDate>Sat, 04 Feb 2017 20:50:03 +0800</pubDate><description><![CDATA[stackoverflow有人问了这么一个问题，下面这段程序执行完毕后，malloc的内存会释放吗
int main () {
  int *p = malloc(10 * sizeof *p);
  *p = 42;
  return 0;  //Exiting without freeing the allocated memory
}

赞数最多的这么回答：

It depends]]></description><category></category></item><item><title><![CDATA[Linux笔记--二]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/52718009</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/52718009</guid><author>coolibin</author><pubDate>Fri, 03 Feb 2017 17:20:23 +0800</pubDate><description><![CDATA[1、Unix IPC分类：]]></description><category></category></item><item><title><![CDATA[Linux驱动笔记]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/52049879</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/52049879</guid><author>coolibin</author><pubDate>Tue, 23 Aug 2016 11:20:32 +0800</pubDate><description><![CDATA[1.Linux设备类型：字符设备，块设备，网络设备。
（1）字符设备
    作为字节流来处理。至少实现open，close，read，write系统调用。在文件系统的/dev目录下。
（2）块设备
    整块IO操作。与字符设备接口不同。在文件系统的/dev目录下。
（3）网络接口
    网络接口一般是硬件，也可以是软件，如loopback。并不在文件系统/dev目录下，没有路径]]></description><category></category></item><item><title><![CDATA[柔性数组]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/51983926</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/51983926</guid><author>coolibin</author><pubDate>Thu, 21 Jul 2016 16:14:22 +0800</pubDate><description><![CDATA[* 柔性数组即数组大小待定的数组

 

* C语言中结构体的最后一个元素可以是大小未知的数组
 

* C语言中可以由结构体产生柔性数组



#include 
#include 

typedef struct _soft_array
{
    int len;
    int array[];
}SoftArray;

int main()
{  
    int ]]></description><category></category></item><item><title><![CDATA[do...while(0)的妙用]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/51886326</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/51886326</guid><author>coolibin</author><pubDate>Tue, 12 Jul 2016 09:48:35 +0800</pubDate><description><![CDATA[在C++中，有三种类型的循环语句：for, while, 和do...while， 但是在一般应用中作循环时， 我们可能用for和while要多一些，do...while相对不受重视。
    但是，最近在读我们项目的代码时，却发现了do...while的一些十分聪明的用法，不是用来做循环，而是用作其他来提高代码的健壮性。

1. do...while(0)消除goto语句。
通常，如果在]]></description><category></category></item><item><title><![CDATA[Linux内核源码树学习：Kconfig和Makefile]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/51801049</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/51801049</guid><author>coolibin</author><pubDate>Fri, 01 Jul 2016 14:30:57 +0800</pubDate><description><![CDATA[Linux内核源码树的每个目录下都有两个文档Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库，每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置make
 menuconfig时，从Kconfig中读出菜单，用户选择后保存到.config的内核配置文档中。在内核编译时，主Makefile调用这个.config，就知道了用户的]]></description><category></category></item><item><title><![CDATA[awk之变量篇]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/50135715</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/50135715</guid><author>coolibin</author><pubDate>Tue, 01 Dec 2015 23:03:55 +0800</pubDate><description><![CDATA[转自Eagle_615

1.数值变量和字符串变量

数值常量可以为整数，浮点数，或科学计数法，字符串括在双引号

1.1初始化与强制类型转换

          未经初始化的变量的值是0或者""，究竟是哪个取决于他们被使用时的上下文。

          强制将字符串转换为数字:

          name + 0

          将数字转换成字符串的方]]></description><category></category></item><item><title><![CDATA[安卓APK去广告的一种方法]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/49933745</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/49933745</guid><author>coolibin</author><pubDate>Thu, 19 Nov 2015 21:54:08 +0800</pubDate><description><![CDATA[APK去广告所需资源如下：
1.要去广告的apk文件
2.反编译工具apktool  apktool
3.JDK（用于签名APK）

 
过程大体分为以下四步：解包、去广告、打包、签名，具体如下：
1.解包
解压下载的apktool压缩包，并把apk文件拷贝到该目录下。dos下进入解压后的目录，执行如下语句，


得到解包的apk文件夹（例子中apk文件名为phys.apk，]]></description><category></category></item><item><title><![CDATA[如何快速掌握一门技术]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/49914353</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/49914353</guid><author>coolibin</author><pubDate>Wed, 18 Nov 2015 22:46:42 +0800</pubDate><description><![CDATA[几周前一个朋友也打算通过跑步来甩一甩脂肪，控制一下自己那已经严重扭曲了的身材 —— 他便求教我从衣服到鞋，从腕表到心率带，都买了什么装备，性能如何，他好照着原样来一套。我告诉他我什么装备都没买，跑了半年多了，我还是随便套上件纯棉的T恤，穿条舒服的运动短裤，蹬着跑鞋，抓着手机，就这么跑将起来。他连连说不信，一个连排汗速干的衣服，臂包，运动腕表都没配的人，怎么也能（配得上）跑步？

这让我想起了我]]></description><category></category></item><item><title><![CDATA[Effective C++笔记  55条编程法则]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/44261243</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/44261243</guid><author>coolibin</author><pubDate>Fri, 10 Jul 2015 16:55:54 +0800</pubDate><description><![CDATA[1.  视C++为一个语言联邦
C++高效编程守则视状况而变化，取决于你使用C++的哪一部分。
2.  尽量以const，enum，inline替代#define
1） 对于单纯常量，最好以const对象或enum替换#define
2） 对于形似函数的宏，最好改用inline函数替换#define
3.  尽可能使用const
1）如果关键字const出现在星号左边，表示被指物是常量]]></description><category></category></item><item><title><![CDATA[泛型和面向对象C++]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/44976715</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/44976715</guid><author>coolibin</author><pubDate>Tue, 30 Jun 2015 22:23:03 +0800</pubDate><description><![CDATA[1. 在类内部定义的函数默认为inline
......
4.由于流对象不能复制，因此不能存储在容器中；由于流不能复制，因此形参或返回类型也不能为流类型，必须用指针或引用，对IO对象的读写会改变它的状态，因此引用必须是非const的。]]></description><category></category></item><item><title><![CDATA[操作系统笔记]]></title><link>https://blog.youkuaiyun.com/coolibin/article/details/45501295</link><guid>https://blog.youkuaiyun.com/coolibin/article/details/45501295</guid><author>coolibin</author><pubDate>Wed, 06 May 2015 16:26:43 +0800</pubDate><description><![CDATA[1.操作系统的特性：并发性、共享性、异步性和虚拟性。
2.特权指令与非特权指令：
（1）特权指令。只能在管态才能执行的指令为特权指令。这些指令一般只有操作系统才能执行，而一般用户程序不能执行。
（2）非特权指令。在管态和目态均可执行的指令为非特权指令。
3.处理器的状态：管态和目态，程序状态字中的一位标识。
（1）管态：也称为系统态、核心态，是操作系统运行时所处的状态。
（2）目态：也]]></description><category></category></item></channel></rss>