自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (9)
  • 收藏
  • 关注

翻译 Javascript 中的 KVC 和 KVO 以及变量监听

Javascript 中的 KVC 和 KVOKVC(Key Value Coding) 和 KVO(Key Value Observing) 是 Objective-C 中的术语(当然 Swift 也是支持的). 说白了, KVC 可以让你像操作 NSDictionary 一样操作你的对象; KVO 可以让你监听你的对象的属性的改变.所谓的 KVC 在 Javascript 中其实更直观, 下面是

2017-05-01 00:18:36 1561

原创 iOS实现渐变背景色的三种方法

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

2015-08-03 13:29:08 38743

原创 UITableView那些坑

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

2015-04-07 17:33:53 6512

原创 UIApplicationDelegate

对于一些需要在程序启动或者在前后台切换的时刻进行的操作, 理解UIApplicationDelegate会在什么时候触发以及触发的顺序很重要.1. 正常启动app或者杀死进程后点击推送消息启动app1. application:willFinishLaunchingWithOptions2. application:application:didFinishLaunchingWit

2014-12-02 11:11:00 2030

原创 iOS 8使用Touch ID进行身份认证

iOS 8的SDK开放了Touch ID的接口.从WWDC的视频中可以看到Touch ID应用在两个方面:用于Key Chain加密和用于授权.iOS 8正式版发布以后我们可以看到Evernote的iOS app已经集成了该功能.下面来看看如何实现使用Touch ID进行身份认证.  其实很简单,用于身份认证的所有的接口都在LocalAuthentication framework中, 该

2014-10-06 16:25:43 19336 1

原创 关于内存对齐

1.引子    在结构中,编译器为结构的每个成员按其自身的自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。    例如,下面的结构各成员空间分配情况(假设对齐方式大于2字节,即#pragma pack(n), n = 2,4,8...下文将讨论#pragmapack()):struct test {

2012-11-28 17:52:24 4381 4

翻译 为什么要内存对齐 Data alignment: Straighten up and fly right

为了速度和正确性,请对齐你的数据.    概述:对于所有直接操作内存的程序员来说,数据对齐都是很重要的问题.数据对齐对你的程序的表现甚至能否正常运行都会产生影响.就像本文章阐述的一样,理解了对齐的本质还能够解释一些处理器的"奇怪的"行为. 内存存取粒度   程序员通常倾向于认为内存就像一个字节数组.在C及其衍生语言中,char * 用来指代"一块内存",甚至在JAVA中也有

2012-11-28 17:45:14 14590 11

翻译 const T vs. T const by Dan Saks

原文下载:http://uploadingit.com/file/n7xuzf5mu71qqvkm/Dan_Saks_const_T_vs_T_const.pdf    参考文档:http://blog.csdn.net/night_elf_1020/archive/2008/12/06/3460715.aspx    “我们在使用typedef和const的时候遇到了一个非常有趣

2012-11-17 18:45:31 3398 2

原创 Windows下新建多级文件夹

使用system函数调用系统命令"md"注意:字符串变量的话赋值时要使用双斜杠"\\":system("md C:\\newfolder\\");如果需要动态新建目录的话:char *path = "C:\\newfolder\\";char swap[255];sprintf(swap, "md %s", path);system(swap);

2012-11-09 15:03:20 11072 2

原创 如何从官网下载STM32固件库

想在ST官网下载STM32F10x的固件库,找了很长时间才找到,为了方便像我一样的菜鸟学习方便,现将如何从官网下载STM32F10x固件库展示如下:首先进入官网http:/www.st.com/ ,如下图:在下面选项卡中选择Support->Tools & Resources,如下图:进入如下界面:点击左面的Software Tools,进入如下

2012-10-15 15:34:10 48152 8

转载 GBK编码表

GBK 汉字内码扩展规范编码表(二) 全国信息技术标准化技术委员会 汉字内码扩展规范(GBK) ChineseInternal Code Specification 1.0 版 (按分类顺序排列) ● GBK/1:GB2312非汉字符号 A1 0 1 23 4 5 6 7 8 9 A B C D E FA

2012-10-10 16:36:09 58327

原创 Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)

记得在Windows下学X86汇编语言时,用0DH(\r)和0AH(\n)来输出回车(跳到下一行的开始处)。问题来了,在Windows下是先回车再换行呢还是先换行再回车呢?在Unix系统下换行只有\n,MAC OS下只有\r(网上是这么说的, 没用过Mac OS, 无从证实),都不会出现上述的问题。现在新建一个文本文档,其内容如下:现在用C语言二进制形式将其读入字符串(可以参考我的

2012-07-31 18:39:39 9725

原创 C语言把文件读入字符串以及将字符串写入文件

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

2012-07-31 18:14:18 22266 2

转载 unicode编码表

unicode编码表1 unicode编码表    Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制,2的16次方等于65536,所以UCS-2最多能编码6553

2012-05-10 14:15:33 88102

转载 关于编码: ascii(ansi), gb-2312, unicode, utf8(续)

一、1.   最早,只有ascii码,美国使用。1个字节8位,只用了后7位(0-127),表示了英语中一般的字符以及数字、字母;2.计算机普及,中国对ascii码进行扩展GB2312,两个字节表示一个汉字(原ascii码的英文继续由1个字节表示);注意:如果说汉字的ascii码(注意,下面会提到),其实指的是gb23123.越来越多的国家都使用计

2012-05-10 11:24:40 1293

转载 关于编码: ascii(ansi), gb-2312, unicode, utf8

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。        再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。        开始计算机只在美国用。八位的字节一共可以组合出256

2012-05-10 11:20:45 955

原创 C语言连接MySQL数据库

不想用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

2012-05-09 16:23:52 6501 1

原创 mysql自动过滤特殊字符的解决方法

mysql会自动过滤特殊字符。像" " "(双引号)、" ' "(单引号)、"\"等都在插入数据的时候被mysql数据库自己过滤了。网上有人使用什么SQL注入,反正我也不懂。我是用的C语言连接数据库,想插入文件路径(包含反斜杠),所以就自己写了一个函数处理要插入的字符串。将字符串里的“\”全改为“\\”。void *convertToDBStr(char *dest, const ch

2012-05-09 12:51:53 24793

原创 C语言如何查看和修改MySQL使用的字符集

最近用C语言连接数据库,插入数据时如果数据中存在汉字,插入会失败。最后搞明白了是MySQL使用的字符集的问题。        1、如何查看当前连接的数据库使用的字符集MySQL提供的接口函数prototype为:void        STDCALL mysql_get_character_set_info(MYSQL *mysql,

2012-05-09 12:37:18 3336 2

原创 将字符串转换成十进制数字

这两天做的一个项目需要将十进制字符串(只含'0'--'9' )转换成相应的数字。比如将“123456789”转换成数字123456789。要求只转换指定长度而不是转换到字符串的结束‘\0’。在网上搜到了比如StrToInt()等都是处理字符串到字符串结束而且不知道那些函数能不能判断溢出,比如对于32位机来说4294967295是无符号整型能表示的最大数,如果所给的字符串超出了上述范围函数能不能判断

2012-05-04 14:50:30 34409

原创 C字符串处理函数

1、字符串长度strlen()原型为:size_tstrlen(   const char *str);//size_t是_int64或者unsignedint,取决于平台环境注意:strlen得到的是除字符串结束标记(string terminator / nullcharacter)外的所有字符的个数.2、字符串大小写转换strupr、strlwr原型为:

2012-03-28 19:25:19 1151

黑白棋盘格角点检测算法

黑白棋盘格角点检测算法 分析了现有黑白棋盘格角点检测算法的不足并提出了一种新的黑白棋盘格角点检测算法

2012-01-13

C语言__指针数组与指针的指针

C语言 指针数组与指针的指针,PPT格式的

2012-01-13

C语言难点及分析

C语言入门 难点及分析 适用于入门和有一定基础的童鞋

2012-01-13

vc++6.0调试方法 还包括一些编译基础知识

调试程序可以帮助了解程序是怎样运行的。 1、如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2、如何在Release状态下进行调试 Project->Setting…->Project Settings对话框,选择Release状态。“C/C++”标签页中的Category选General,Optimizations选Disable(Debug),Debug info选Program Database。在“Link”标签页中选中Generate debug info复选框。 注:只是一个介乎Debug和Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下QuickWatch、调用队列跟踪功能仍然有效,和Debug版一样。 3、Release和Debug有什么不同。 Release版称为发行版,Debug版称为调试版。 Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。 Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll),比如MFC42.DLL。这些DLL在安装Windows的时候,已经配置,所以这些程序能够在没有安装Visual C++ 6.0的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,如MFC42D.DLL。在没有安装Visual C++6.0的机器上不能运行,因为缺MFC42D.DLL等,除非选择use static dll when link。 4、ASSERT和VERIFY有什么区别 ASSERT里面的内容在Release版本中不编译,VERIFY里面的内容仍然编译,但不再判断真假。所以后者更安全一点。 例如ASSERT(file.Open(strFileName)),一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用VERIFY()就不会有这个问题。 5、Workspace和Project之间是什么样的关系 每个Workspace可以包括几个project,但只有一个处于Active状态,各个project之间可以有依赖关系,在project的Setting…中可以设定,比如那个Active状态的project可以依赖于其他的提供其函数调用的静态库。 6、如何在非MFC程序中使用ClassWizard 在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。 7、如何设置断点 按F9在当前光标处增加一个断点和取消一个断点。 另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。 8、在编辑状态下发现成员变量或函数不能显示提示,如何打开显示功能 这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制: (1)关闭Project,(2)删除“工程名.ncb”文件,(3)重新打开工程

2011-12-08

趣味程序导学Visual C++

全书从Visual C++语言基础知识和编制简单的程序入手,将 Visual C++编程的知识点有机地分散在“幸运52”,“速算24”,“俄罗斯方块”,“拚图游戏”,属于你的OICQ等多个趣味游戏的程序设计示例中,引导读者轻松学习Visual C++编程的相关知识、编 程技术及技巧,其中包括Visual C++中消息处理、多媒体、图形图像、数据库处理以及网络编程等内容。 本书以示例教学方式来组织内容,集趣味性、直观性和可操作性于一体,适用于 Visual C++初学者及对游戏程序感兴趣的电脑爱好者。

2011-12-07

OpenGL基础

系统地讲解了OpenGL的知识,我就是用它和NEHE的帮助文档入门的

2011-12-07

黑客之道:漏洞发掘的艺术

黑客之道:漏洞发掘的艺术.【英文第二版】

2011-12-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除