<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[子虚]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lgouc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lgouc]]></copyright><item><title><![CDATA[Javascript 中的 KVC 和 KVO 以及变量监听]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/71037430</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/71037430</guid><author>lgouc</author><pubDate>Mon, 01 May 2017 00:18:36 +0800</pubDate><description><![CDATA[Javascript 中的 KVC 和 KVOKVC(Key Value Coding) 和 KVO(Key Value Observing) 是 Objective-C 中的术语(当然 Swift 也是支持的). 说白了, KVC 可以让你像操作 NSDictionary 一样操作你的对象; KVO 可以让你监听你的对象的属性的改变.所谓的 KVC 在 Javascript 中其实更直观, 下面是]]></description><category></category></item><item><title><![CDATA[iOS实现渐变背景色的三种方法]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/47254839</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/47254839</guid><author>lgouc</author><pubDate>Mon, 03 Aug 2015 13:29:08 +0800</pubDate><description><![CDATA[In some particular circumstances, we want to use a gradient background view. As far as my knowledge can reach, there are three different ways to implement a gradient background: CAGradientLayer, CGGra]]></description><category></category></item><item><title><![CDATA[UITableView那些坑]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/44923299</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/44923299</guid><author>lgouc</author><pubDate>Tue, 07 Apr 2015 17:33:53 +0800</pubDate><description><![CDATA[iOS prior to 6.0(included) is not considered. A respondsToSelector check might be needed in term of compatibility, or exceptions like
“unrecognized selector sent to instance” will occur.
1. eliminat]]></description><category></category></item><item><title><![CDATA[UIApplicationDelegate]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/41675745</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/41675745</guid><author>lgouc</author><pubDate>Tue, 02 Dec 2014 11:11:00 +0800</pubDate><description><![CDATA[对于一些需要在程序启动或者在前后台切换的时刻进行的操作, 理解UIApplicationDelegate会在什么时候触发以及触发的顺序很重要.

1. 正常启动app或者杀死进程后点击推送消息启动app
1. application:willFinishLaunchingWithOptions
2. application:application:didFinishLaunchingWit]]></description><category></category></item><item><title><![CDATA[iOS 8使用Touch ID进行身份认证]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/39829409</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/39829409</guid><author>lgouc</author><pubDate>Mon, 06 Oct 2014 16:25:43 +0800</pubDate><description><![CDATA[iOS 8的SDK开放了Touch ID的接口.从WWDC的视频中可以看到Touch ID应用在两个方面:用于Key Chain加密和用于授权.iOS 8正式版发布以后我们可以看到Evernote的iOS app已经集成了该功能.下面来看看如何实现使用Touch ID进行身份认证.

  其实很简单,用于身份认证的所有的接口都在LocalAuthentication framework中, 该]]></description><category></category></item><item><title><![CDATA[关于内存对齐]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8235616</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8235616</guid><author>lgouc</author><pubDate>Wed, 28 Nov 2012 17:52:24 +0800</pubDate><description><![CDATA[1.引子
    在结构中，编译器为结构的每个成员按其自身的自然对界（alignment）条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储，第一个成员的地址和整个结构的地址相同。
    例如，下面的结构各成员空间分配情况(假设对齐方式大于2字节,即#pragma pack(n), n = 2,4,8...下文将讨论#pragmapack())：

struct test 
{]]></description><category></category></item><item><title><![CDATA[为什么要内存对齐 Data alignment: Straighten up and fly right]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8235471</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8235471</guid><author>lgouc</author><pubDate>Wed, 28 Nov 2012 17:45:14 +0800</pubDate><description><![CDATA[为了速度和正确性,请对齐你的数据.
    概述:对于所有直接操作内存的程序员来说,数据对齐都是很重要的问题.数据对齐对你的程序的表现甚至能否正常运行都会产生影响.就像本文章阐述的一样,理解了对齐的本质还能够解释一些处理器的"奇怪的"行为.
 

内存存取粒度
   程序员通常倾向于认为内存就像一个字节数组.在C及其衍生语言中,char
 * 用来指代"一块内存",甚至在JAVA中也有]]></description><category></category></item><item><title><![CDATA[const T vs. T const by Dan Saks]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8194331</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8194331</guid><author>lgouc</author><pubDate>Sat, 17 Nov 2012 18:45:31 +0800</pubDate><description><![CDATA[原文下载:http://uploadingit.com/file/n7xuzf5mu71qqvkm/Dan_Saks_const_T_vs_T_const.pdf
    参考文档:http://blog.youkuaiyun.com/night_elf_1020/archive/2008/12/06/3460715.aspx


    “我们在使用typedef和const的时候遇到了一个非常有趣]]></description><category></category></item><item><title><![CDATA[Windows下新建多级文件夹]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8166522</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8166522</guid><author>lgouc</author><pubDate>Fri, 09 Nov 2012 15:03:20 +0800</pubDate><description><![CDATA[使用system函数调用系统命令"md"
注意:字符串变量的话赋值时要使用双斜杠"\\":

system("md C:\\newfolder\\");
如果需要动态新建目录的话:

char *path = "C:\\newfolder\\";

char swap[255];

sprintf(swap, "md %s", path);

system(swap);]]></description><category></category></item><item><title><![CDATA[如何从官网下载STM32固件库]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8073302</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8073302</guid><author>lgouc</author><pubDate>Mon, 15 Oct 2012 15:34:10 +0800</pubDate><description><![CDATA[想在ST官网下载STM32F10x的固件库,找了很长时间才找到,为了方便像我一样的菜鸟学习方便,现将如何从官网下载STM32F10x固件库展示如下:
首先进入官网http:/www.st.com/
 ,如下图:

在下面选项卡中选择Support->Tools & Resources,如下图:





进入如下界面:


点击左面的Software Tools,进入如下]]></description><category></category></item><item><title><![CDATA[GBK编码表]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/8057064</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/8057064</guid><author>lgouc</author><pubDate>Wed, 10 Oct 2012 16:36:09 +0800</pubDate><description><![CDATA[GBK 汉字内码扩展规范编码表(二)
 

全国信息技术标准化技术委员会
 

汉字内码扩展规范(GBK)
 

ChineseInternal Code Specification
 

1.0 版
 

（按分类顺序排列）
 

● GBK/1:GB2312非汉字符号
 

A1 ０ １ ２３ ４ ５ ６ ７ ８ ９ Ａ Ｂ Ｃ Ｄ Ｅ Ｆ

Ａ]]></description><category></category></item><item><title><![CDATA[Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7815523</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7815523</guid><author>lgouc</author><pubDate>Tue, 31 Jul 2012 18:39:39 +0800</pubDate><description><![CDATA[记得在Windows下学X86汇编语言时，用0DH(\r)和0AH(\n)来输出回车(跳到下一行的开始处)。问题来了，在Windows下是先回车再换行呢还是先换行再回车呢？在Unix系统下换行只有\n，MAC OS下只有\r(网上是这么说的, 没用过Mac OS, 无从证实)，都不会出现上述的问题。
现在新建一个文本文档，其内容如下：


现在用C语言二进制形式将其读入字符串（可以参考我的]]></description><category></category></item><item><title><![CDATA[C语言把文件读入字符串以及将字符串写入文件]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7815474</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7815474</guid><author>lgouc</author><pubDate>Tue, 31 Jul 2012 18:14:18 +0800</pubDate><description><![CDATA[1.纯C实现

 FILE *fp;
	if ((fp = fopen("example.txt", "rb")) == NULL)
	{
		exit(0);
	}
	fseek(fp, 0, SEEK_END);
	int fileLen = ftell(fp);
	char *tmp = (char *) malloc(sizeof(char) * fileLen);
	fseek(fp]]></description><category></category></item><item><title><![CDATA[unicode编码表]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7553759</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7553759</guid><author>lgouc</author><pubDate>Thu, 10 May 2012 14:15:33 +0800</pubDate><description><![CDATA[unicode编码表

1 unicode编码表  
  Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制,2的16次方等于65536,所以UCS-2最多能编码6553]]></description><category></category></item><item><title><![CDATA[关于编码: ascii(ansi), gb-2312, unicode, utf8（续）]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7553235</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7553235</guid><author>lgouc</author><pubDate>Thu, 10 May 2012 11:24:40 +0800</pubDate><description><![CDATA[一、
1.   
最早，只有ascii码，美国使用。

1个字节8位，只用了后7位(0-127)，表示了英语中一般的字符以及数字、字母；


2.
计算机普及，中国对ascii码进行扩展GB2312，两个字节表示一个汉字(原ascii码的英文继续由1个字节表示)；

注意：如果说汉字的ascii码（注意，下面会提到），其实指的是gb2312

3.
越来越多的国家都使用计]]></description><category></category></item><item><title><![CDATA[关于编码: ascii(ansi), gb-2312, unicode, utf8]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7553186</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7553186</guid><author>lgouc</author><pubDate>Thu, 10 May 2012 11:20:45 +0800</pubDate><description><![CDATA[很久很久以前，有一群人，他们决定用8个可以开合的晶体管来组合成不同的状态，以表示世界上的万物。他们看到8个开关状态是好的，于是他们把这称为"字节"。 
       再后来，他们又做了一些可以处理这些字节的机器，机器开动了，可以用字节来组合出很多状态，状态开始变来变去。他们看到这样是好的，于是它们就这机器称为"计算机"。 

       开始计算机只在美国用。八位的字节一共可以组合出256]]></description><category></category></item><item><title><![CDATA[C语言连接MySQL数据库]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7550108</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7550108</guid><author>lgouc</author><pubDate>Wed, 09 May 2012 16:23:52 +0800</pubDate><description><![CDATA[不想用ODBC什么的连接数据库,想直接用MySQL提供的接口连接数据库。我用的是VS2005。
网上的一些介绍都是修改项目属性等的设置，我不喜欢那样。首先 我们需要的文件有mysql.h   my_alloc.h   my_list.h   mysql_com.h   mysql_time.h   mysql_version.h
   typelib.h  以及libmysql.lib和lib]]></description><category></category></item><item><title><![CDATA[mysql自动过滤特殊字符的解决方法]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7549487</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7549487</guid><author>lgouc</author><pubDate>Wed, 09 May 2012 12:51:53 +0800</pubDate><description><![CDATA[mysql会自动过滤特殊字符。像" " "（双引号）、"
 ' "（单引号）、"\"等都在插入数据的时候被mysql数据库自己过滤了。网上有人使用什么SQL注入,反正我也不懂。我是用的C语言连接数据库，想插入文件路径（包含反斜杠），所以就自己写了一个函数处理要插入的字符串。将字符串里的“\”全改为“\\”。

void *convertToDBStr(char *dest, const ch]]></description><category></category></item><item><title><![CDATA[C语言如何查看和修改MySQL使用的字符集]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7549400</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7549400</guid><author>lgouc</author><pubDate>Wed, 09 May 2012 12:37:18 +0800</pubDate><description><![CDATA[最近用C语言连接数据库，插入数据时如果数据中存在汉字，插入会失败。最后搞明白了是MySQL使用的字符集的问题。
        1、如何查看当前连接的数据库使用的字符集

MySQL提供的接口函数prototype为：
void        STDCALL mysql_get_character_set_info(MYSQL *mysql,]]></description><category></category></item><item><title><![CDATA[将字符串转换成十进制数字]]></title><link>https://blog.youkuaiyun.com/lgouc/article/details/7534845</link><guid>https://blog.youkuaiyun.com/lgouc/article/details/7534845</guid><author>lgouc</author><pubDate>Fri, 04 May 2012 14:50:30 +0800</pubDate><description><![CDATA[这两天做的一个项目需要将十进制字符串(只含'0'--'9' )转换成相应的数字。比如将“123456789”转换成数字123456789。要求只转换指定长度而不是转换到字符串的结束‘\0’。在网上搜到了比如StrToInt()等都是处理字符串到字符串结束而且不知道那些函数能不能判断溢出，比如对于32位机来说4294967295是无符号整型能表示的最大数，如果所给的字符串超出了上述范围函数能不能判断]]></description><category></category></item></channel></rss>