自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DayDreamingBoy的专栏

点点滴滴写下自己的学习历程

原创 介绍@dynamic的用法

介绍@dynamic的用法     Objective-C 2.0提供了属性(@property),可以让编译器自动生成setter和getter方法。如果不想编译器自作主张生成这些setter和getter方法,则使用@dynamic。举个简单例子,如下#import @interface Person : NSObject@property (copy) NSString *

2014-03-31 17:41:43 5962

原创 实例变量(instance var)与属性(@property)的关系

实例变量(instance var)与属性(@property)的关系      Objective-C 2.0之后,声明一个@property name自动产生一个实例变量,名为_name,因此省去实例变量和属性重复输入的麻烦。而使用@synthesize可以改变_name名称。@property和@synthesize不必成对出现。@property name:指示编译

2014-03-30 22:16:49 3445

原创 Xcode工程创建多个target

Xcode工程创建多个target 小菜本人有时候会在一个Xcode工程中新建多个包含main函数的.m文件用于用于学习Objective-C,于是要用到target这个东西。target对应于一个可运行文件和一些编译配置。点击工程名,选择“Add Target”或者“File”->“New”->“Target…”,如下选择对应类型的template即可,这里我采用Comm

2014-03-30 16:36:41 7508

原创 assert的实现原理浅析

assert的实现原理浅析assert在调试中经常用到,它包含在assert.h文件中(我用的编译器是VS2010)。实际上,它是一个宏,定义如下1#define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT

2013-10-16 15:14:07 2972

原创 判断有符号和无符号的变量或类型[C/C++]

判断有符号和无符号的变量或类型         参考别人的代码,自己修改了一下。发现有符号数和无符号数,如果都是正数的话,二进制值是一样,因此不能简单地和0比较。具体代码,如下:#include #include using namespace std;#define ISUNSIGNED(a) (((a) | 0x1 0)#define ISUNSIGNED_TYPE(

2013-09-19 14:19:18 2462

原创 C++中struct和class关键字的区别

C++中struct和class关键字的区别         对于这个问题很多人会说:struct和class除了“默认的成员访问权限”这一点不同外,没有任何区别(P141,摘自《高质量程序设计指南C++/C语言》第3版,修订版),即struct里的默认的成员访问权限是public,而class则是private。        其实,仔细看看《C++ Primer》(第4版),在48

2013-08-01 23:26:28 1126

原创 关于Java交换两个对象的问题

关于Java交换两个对象的问题         对于C++比较熟悉的童鞋,应该知道在函数传参时,有传值、传地址(指针)和传引用这3种。众所周知,Java中没有指针,所以只有传值和传引用两种。        很容易理解,Java的基本类型,例如int、float等,都是传值。而对象采用传引用,因为对象如果采用传值的话,要复制一份对象中的所有数据,这个开销太大了,实现起来也很麻烦(学过C+

2013-08-01 14:17:52 11018 6

原创 VS2010命令行下查看虚函数表和类内存布局

VS2010命令行下查看虚函数表和类内存布局——《深度探索C++对象模型》读书札记系列 在学习多重继承下的Virtual functions时,需要分析派生类的虚函数表(vtable),但是在网上找了好几种Hack vtable方法,结果都不尽如人意。没想到MS Compiler(以VS2010为例)有打印vtable的编译选项,真是太好了!1. 打开“Visual Studio

2013-05-28 00:50:09 6455 2

原创 “2 overloads have no legal conversion for 'this' pointer”错误

“2 overloadshave no legal conversion for 'this' pointer”错误——《深度探索C++对象模型》读书札记系列 问题:P101的代码,如下,编译出现“2 overloads have nolegal conversion for 'this' pointer”错误。class Point2d {public: Point2d(fl

2013-05-28 00:45:18 4185

原创 C/C++ - 数组初始化列表为空的区别

C/C++ - 数组初始化列表为空的区别         今天偶然碰到C++中数组的初始化列表可以为空,对于内置类型int,char,double以及string类型等会默认初始化,菜鸟的我颇为惊讶。而把后缀名换成.c,在C编译器(VS2010)中编译报错。这应该是C和C++关于数组初始化的一点不同之处吧,记下来吧。测试代码,如下#include void main(void)

2013-04-28 22:37:11 4130

原创 Safari将网页另存为pdf

Safari将网页另存为pdf 没想到Safari还可以像chrome那样把网页保存为pdf,用起来很方便。选择“File”->“Print…”,如下

2013-04-15 16:33:50 6776

原创 Java – 查看程序的当前目录(路径)

Java – 查看程序的当前目录(路径)         Java中碰到使用相对路径读写文件时(最近碰到一个老是找不到文件的问题),需要查看程序的默认当前路径。网上找了一下,下面的代码可以显示当前的程序默认路径,文件找不到终于解决了~~// Get base pathFile appBase = new File("."); //current directoryString pa

2013-04-15 16:21:56 3128

转载 [转载]彻底搞定C指针-函数名与函数指针

这篇文章把函数名和函数指针讲述很好,方面日后查阅,转载一下~~转载地址:http://blog.pfan.cn/whyhappy/6030.html函数名与函数指针一 通常的函数调用    一个通常的函数调用的例子://自行包含头文件void MyFun(int x);    //此处的申明也可写成:void MyFun( int );int main(in

2013-04-14 16:53:20 744

原创 C - 结构体字节对齐问题

C - 结构体字节对齐问题         关于C语言中的结构体字节对齐问题,在《C与指针》一书中提到,但是似乎没有说清楚,还是我理解不完全?所以,根据书上和网上资料,总结一些关于C语言中的结构体字节对齐的知识。这里的讨论和代码,都在VS2010下,GCC不太熟悉就不说了;-( (1)什么是字节对齐[1]对齐规则:        结构体中一个变量占用 n 个字节,则该变量的

2013-04-14 13:49:23 2837

转载 锐捷4.44-1220:解除多网卡限制

锐捷4.44-1220:解除多网卡限制        近日学校的锐捷又更新版本了;-(,之前能正常使用的mentohust(Windows版本)显示版本过低,不能用了,Google了半天也没有找到办法。今天碰巧看到两篇文章,有了破解锐捷4.44-1220的办法了,经过验证,确实可行,转载一些内容和自己的整理,留个笔记了,免得日后还要Google半天~~引用用UltraEdi

2013-04-13 23:45:35 2946 2

原创 浅析extern “C”的作用

浅析extern “C”的作用         关于extern “C”的作用和意思,网上资料已经有很多了(我也参考了几篇),不过我还是觉得有必要自己总结一下,毕竟“好记性不如烂笔头”嘛~~        到C标准函数库的头文件里看看,一般会经常看见有如下宏定义(除非你从来没有查看类似printf函数在头文件中的定义,就另当别论了:-()#ifdef __cplusplusex

2013-04-08 23:51:16 11251

转载 [转载]iOS开发中取消APP图标上高光效果的方法

iOS开发中取消APP图标上高光效果的方法 之前搜索了一下,基本都是说修改*.plist文件,不过我在XCODE4.5+IOS6上编译并没有去掉。刚刚发现其实IDE已经给出了很方便的方法。在项目设置里,APP ICON设置的地方,将旁边 Prerendred 复选框勾选上即可。 参考资料:1、http://blog.sina.com.cn/s/blog_

2013-04-06 16:30:32 3284

原创 C的序列化库tpl的使用

C的序列化库tpl的使用        coolshell推荐了一个好用的C的序列化库(http://coolshell.cn/articles/878.html),于是下载来试试,下载地址:http://troydhanson.github.com/tpl/index.html,解压tpl-master.zip,到doc目录看看使用文档,在Windows有3种方式使用这个库。

2013-04-06 14:30:08 3777

原创 让Windows 7提供WiFi热点给iOS设备(使用无线承载网络)

让Windows 7提供WiFi热点给iOS设备(使用无线承载网络)         如果一台PC(当然需要无线网卡)或笔记本建立一个WiFi热点,那么像iOS这样的移动设备,就可以连接这个WiFi信号上网。网上实现的方法很多,这里介绍我使用成功的方法,使用Windows 7下无线承载网络功能。下面所有命令都在CMD中输入。 (1)检查无线网卡是否支持承载网络netsh w

2013-01-21 19:56:34 2938

原创 C程序中修改Windows的控制台颜色

C程序中修改Windows的控制台颜色         其实,Windows的CMD可以和Linux下的终端一样可以有五颜六色,目前我在网上找到2种方法可以修改Windows的CMD,当然都是在代码中修改的。在“CMD”->“属性”->“颜色”,这种方法就另当别论了。        (1)方法一:调用color命令行程序Windows的CMD中有个color命令,它可以修改控制台的

2013-01-10 14:32:39 17492

原创 使用static关键字隐藏函数 [C]

使用static关键字隐藏函数 [C]         C语言中没有C++的public、private等关键字来限定函数的使用范围,也没有类的概念可以使用相同名字的函数。但是在C语言中使用static关键字可以达到函数隐藏的目的。下面有个简单的例子。清单1 –hide_function.h#ifndef _HIDE_FUNCTION_H_#define _HIDE_FUNC

2013-01-06 22:39:06 2201

原创 解决“java.lang.NoSuchMethodError: org.hamcrest.core.AllOf.allOf…”问题(使用JUnit和Hamcrest)

解决“java.lang.NoSuchMethodError: org.hamcrest.core.AllOf.allOf…”问题(使用JUnit和Hamcrest) junit-4.10.zip(下载地址:http://sourceforge.net/projects/junit/files/junit/4.10/)hamcrest-1.3.zip(下载地址:http://code.

2012-12-14 15:54:46 7091

原创 CentOS 6.3开机自动挂载磁盘和文件夹

CentOS 6.3开机自动挂载磁盘和文件夹        CentOS服务器可能有多个磁盘,但是突然掉电,原先手动挂载的磁盘,就不在了。于是,需要系统在开机时自动挂载我们需要的磁盘和文件夹。       编辑/ect/fstab,可看到当前所有的挂载点,在最后追加需要挂载的信息。每一列代表的信息,如下device name mount point fs-type

2012-12-10 16:30:36 17227

原创 “ssh localhost”去掉输入密码(CentOS 6.3)

“ssh localhost”去掉输入密码(CentOS 6.3)     在Shell中,输入“sshlocalhost”提示输入密码,可以采用下面的方法。$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys    但是输入“ssh loca

2012-12-07 21:36:33 3894

原创 Android环境下的HelloWorld命令行C程序

Android环境下的HelloWorld命令行C程序     今天初步学习Android的NDK开发,突然想写一个HelloWorld程序在Android手机下面,这个可是最基础的C程序,不过是放在Android手机上跑而已。功夫不负有心人,网上果然有高人,居然找到和我一样想写HelloWorld的文章。于是,大胆放手去试试看,果然可以哈! 1、基本准备(1)Eclipse

2012-12-03 20:57:16 2296

原创 Mac OS X下NDK环境的搭建

Mac OS X下NDK环境的搭建 1、软件准备(1)下载NDK(Mac OS X版本),android-ndk-r8c-darwin-x86.tar.bz2,将其解压到指定位置。下载地址:http://developer.android.com/tools/sdk/ndk/index.html (2)下载Eclipse(Mac OS X版本),eclipse-java-jun

2012-12-03 18:04:15 25613

原创 CentOS 6.3允许FTP用户登录并禁止Shell登录的方法

CentOS 6.3允许FTP用户登录并禁止Shell登录的方法     最近安装了vsftpd做FTP服务,发现系统用户的登录shell设置为/sbin/nologin,就无法使用FTP服务。网上资料说,vsftpd会为每个FTP登录用户去在/etc/shells中检查对应的登录shell,因此需要增加一行/sbin/nologin。但是我/etc/shells文件明明有/sbin/no

2012-11-19 19:03:03 8449

原创 CentOS 6.3设置静态IP教程

CentOS 6.3设置静态IP教程 局域网里有台安装有CentOS6.3的电脑,掉电或重启,它的IP会被DHCP重新分配,如果要远程控制这台电脑,不得不去打开显示器去查看它的新IP,这样太麻烦了。于是需要将这台电脑的IP设置成静态的。(1)找到/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,如果没有就创建一个,内容如下DEVICE=et

2012-11-19 13:22:34 26630

原创 CentOS 6.3下vsftpd的简单使用教程

CentOS 6.3下vsftpd的简单使用教程 1、关于vsftpd的基本知识(1)什么是vsftpd?参考百度百科,http://baike.baidu.com/view/1806035.htm(2)FTP用户的3种身份:实体用户(real user)、访客(guest)和匿名登录者(anonymous)a. 实体用户(real user):一般是Linux系统上的用户,也

2012-11-18 17:58:49 5949

原创 tigerVNC的简单使用教程(CentOS的远程桌面连接)

tigerVNC的简单使用教程(CentOS的远程桌面连接) 1、环境和软件准备(1) CentOS 6.3下[root@localhost ~]$ rpm –q tigervnc tigervnc-servertigervnc-1.0.90-0.17.20110314svn4359.el6.i686tigervnc-server-1.0.90-0.17.20110314svn

2012-11-18 17:37:18 59020 3

原创 CentOS 5.5下LAMP环境搭建之源码安装PHP(php-5.4.8)

CentOS 5.5下LAMP环境搭建之源码安装PHP(php-5.4.8)     由于安装CentOS 5.5的设置可能不一样,所以有些软件在系统安装时就顺便安装了。下面的步骤仅供参考。 1、软件准备php-5.4.8.tar.gz (http://php.net/downloads.php) 2、编译工具准备    安装gcc、gcc-c++[root@l

2012-10-29 19:56:25 5433

原创 CentOS 5.5下LAMP环境搭建之源码安装MySQL(mysql-5.5.28)

CentOS 5.5下LAMP环境搭建之源码安装MySQL(mysql-5.5.28)     由于安装CentOS 5.5的设置可能不一样,所以有些软件在系统安装时就顺便安装了。下面的步骤仅供参考。 1、软件准备mysql-5.5.28.tar.gz (http://dev.mysql.com/downloads/mysql/#downloads)cmake-2.8.9.

2012-10-29 19:47:07 5204

原创 CentOS 5.5下LAMP环境搭建之源码安装Apache2(httpd-2.4.3)

CentOS 5.5下LAMP环境搭建之源码安装Apache2(httpd-2.4.3)     由于安装CentOS5.5的设置可能不一样,所以有些软件在系统安装时就顺便安装了。下面的步骤仅供参考。 1、软件准备apr-1.4.6.tar.gz (http://apr.apache.org/download.cgi)apr-util-1.5.1.tar.gz (http:

2012-10-29 19:30:11 5792

原创 VMware Workstation的3种网络模式(bridged、NAT、Host-only)的介绍

VMware Workstation的3种网络模式(bridged、NAT、Host-only)的介绍 0、实验环境VMware Workstation版本:7.0.0build-203739宿主机(Host):Windows 7 SP1虚拟机(Guest):CentOS 5.5 1、前言    我在网上找到2篇关于介绍VMwareVirtual Network(见

2012-10-26 16:28:31 11221

原创 Putty的ppk文件转成Xshell使用的key文件

Putty的ppk文件转成Xshell使用的key文件     今天同学给我一个Putty远程登录使用的ppk文件(即后缀名为ppk)让我远程登录主机,但是我用的是Xshell,导入这个ppk文件时,遇到“Failed to import the user key!”错误。    参考网上这篇文章,找到了解决办法,如下    1、找到Putty安装目录下的PUTTYGE

2012-10-24 21:33:10 31461 5

原创 修改CentOS的主机名hostname

修改CentOS的主机名hostname    今天在CentOS的终端中发现命令提示符的主机名怎么是一串数字,看起来不怎么舒服,于是想要修改下主机名,网上搜了一下资料,找到2个办法。(1)使用hostname命令    hostname查看当前主机名,hostname 修改当前主机名为,使用hostname –h查看hostname的用法。 (2)修改/etc/s

2012-10-21 16:47:14 6104

原创 iOS上简单推送通知(Push Notification)的实现

iOS上简单推送通知(Push Notification)的实现    根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12),结合自己的实践,写下一点笔记,仅供参考:)    由于篇幅较长,我列出简单的目录,如下1) 理解Apple推送通知的机制

2012-09-14 00:06:57 47744 1

原创 修改android模拟器AVD的路径

修改android模拟器AVD的路径        做了Android开发一段时间后,Android模拟器的版本也创建了好几个。终于我的C盘“红了脸”,抱怨“太满了!”。我不得不清理下C盘,竟然发现C:\Users\\.android这个目录接近2G。我把这个目录移动到E盘,结果Eclipse找不到AVD。    网上搜了一下找到了办法:)    (1)增加系统

2012-07-17 18:07:08 4852

原创 解决生成cocos2d文档中“problems opening map file”

解决生成cocos2d文档中“problems opening map file”开发环境:Mac OS X 10.7.3、Xcode4.3.2cocos2d版本:1.0.1文档生成工具:Doxygen 1.8.0、Graphviz 2.28.0参考官方指南http://www.cocos2d-iphone.org/archives/358,编译出错“problems

2012-06-27 23:31:34 1549

原创 解决Xcode 4.3.2的"Could not insert new outlet connection"问题

解决Xcode 4.3.2的"Could not insert new outlet connection"问题    用了Xcode 4.2和Xcode 4.3.2一段时间后,突然冒出了"Could not insert new outlet connection"问题,如下    尝试连接插座变量了好几次,都是这样,参考stack overflow的这篇帖子,h

2012-06-07 21:14:41 5109 2

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