自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 收藏
  • 关注

原创 1987年国际C语言混乱代码大赛获奖的一行代码

macb() ? lpcbyu(&gbcq/_\021%ocq\012\0_=w(gbcq)/_dak._=}_ugb_[0q60)s+                     这是CoolShell博主之前做了一个很有意思的在线puzzle,仿照一些前端过关的游戏,做了几个和程序员有关的迷题,一个通关游戏,这个事测试的第二题。并为通关的前十名送上《Unix环境高级编程(第三版)》(感

2014-08-16 12:13:00 4719

原创 Brainfuck——让你脑子凌乱的程序语言

Brainfuck,是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf***,甚至被简称为BF。        这种语言由八种运算符构成,就象它的名字所暗示的,brainfuck程序很难读懂。虽然brainfuck的计算方式如此与众不同,但它确实能够正确运行。这种语言基于一个简单的机器模

2014-08-15 15:22:03 6431

转载 AFNetworking与ASIHTTPRequst对比

在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题。一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性。这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等。那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪一款组件适合自己,是 AFNetworking(AFN)还是 ASIHTTPRequest(ASI

2015-02-06 11:42:48 525

转载 struct sockaddr与struct sockaddr_in区别

最近在看网络编程部分内容,刚开始接触结构体struct sockaddr和struct sockaddr_in的时候,极其迷惑,在网上翻了不少帖子,慢慢有那么点清晰了。呵呵,现在结合一篇网友的文章,对这两个结构体进行解读。在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned s

2015-01-20 15:58:02 809

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2014-11-26 13:14:07 544

转载 Mac OS安装mysql

一、安装到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本比如:Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive下载完的文件为:mysql-5.6.10-osx10.7-x86_64.dmg1.点击,安装包里的2.点击安装

2014-11-23 11:36:13 583

原创 #include <sys/socket.h>找不到头文件

ubuntu下socket编程涉及到头文件sys/socket.h 和sys/types.h。我是用的codeblocks编辑器,当我想查看socket,h头文件时编辑器提示找不到头文件。           我就想可能是没有设置codeblocks头文件的搜索路径。好吧,那首先就找找这个文件藏在哪里吧find / -name socket.h -print或者locate sys/s

2014-11-15 17:02:13 47375 2

原创 Ubuntu破解root密码

忘记root密码确实挺令人懊恼的,

2014-11-13 22:55:35 4395 1

转载 Mac系统下创建右键打开Shell的功能

在开发过程中经常会用到Shell(“命令行”、“终端” or “控制台”?),而我们可以用Mac中一个叫终端的App进入Shell。打开这个App后,默认进入用户的home目录,即“/Users/username”,而这往往不是我们想要的工作目录。因此我们需要敲好几次“cd”命令才可以进入我们的工作目录。这显得很麻烦,其实我们可以利用系统的“服务”来这文件夹的右键菜单中直接加入一个在所选目录打开S

2014-11-12 22:48:32 1854

原创 计算机网络概要总结

数据链路层——MAC帧 MAC层的硬件地址硬件地址又称为物理地址或MAC 地址。 IEEE802 标准规定的48 比特的全球地址,是指局域网上的每一台计算机所插入的网卡上固化在ROM 中的地址。 IEEE 的注册管理委员会RAC 负责分配地址字段的6 个字节中的前3个字节。  地址字段的后3个字节有厂家自行指派,称为扩展标识符,只要保证生产出的网卡没有重复即可。用这种方法得到的

2014-11-12 18:41:59 1307

原创 同步与异步

为简化多线程应用的开发,IOS提供了GCD来实现多线程。它的核心就是队列与任务,任务在队列中始终以FIFO的顺序来处理。但由于任务的执行时间不同,因此先处理的任务不一定先结束。        使用GCD实现多线程只需遵守两个步骤即可:1.创建队列2.将任务提交给队列。队列分为串行队列与并行队列。当我们向队列中提交任务时就涉及到两种方式:异步提交任务(dispatch_async)、同步提交任务

2014-11-11 13:43:26 789

原创 NSCondition实现生产者消费者模式

使用NSCondition对象来控制进程的同步,通过NSCondition对象的操作实现进程间的通信。NSCondition也实现了NSLocking协议,因此也可以调用lock、 unlock来实现线程的同步。NSCondition类提供以下3个方法:        wait——该方法让线程一直等待;signal——唤醒在此NSCondition对象上等待的单个线程;broadcast——唤

2014-11-11 11:20:05 2273

原创 指针数组、数组指针、函数指针、指针函数总结

指针数组 && 数组指针char *a[5]; //定义一个指针数组, 数组的元素都是char *指针类型。初始化也可以在里面存放字符或字符串。a的类型是char *[5]//若char *a[5]={"red","white","blue","dark","green"};//a在这里的类型是char *[],实质上是一个二级指针。也就是说a所代表的那块内存里面存放着的是数组

2014-11-10 18:28:14 1580

原创 排序算法总结

直接插入排序/*总是将a[i]与a[i+1]作比较,temp记录两者中较小的数然后对这个数左边遍历将比temp大的数右移, 然后在空出来的位置上插入temp进行排序*/#include insert_sort(int a[],int n){ int i,j,temp; for(i=1;i<n;i++) { if(a[i] <a[i-1]) { temp=a[i];

2014-11-05 18:19:19 855

原创 二叉树遍历

#include #include typedef char TElemType;typedef struct BiTNode{    TElemType data;    struct BiTNode *lchild,*rchild; }BiTNode, *BiTree;void CreateBiTree(BiTree *T){    //按先序次序输

2014-11-05 16:21:00 947

原创 OC中类别、扩展、协议与委托

类别(category)@interface 已有类 (类别名)//....方法定义@end

2014-11-01 23:06:59 1987

原创 Objective C多态

面向对象三个基本特征就是封装、继承和多态。封装简单将就是将一组数据结构和定义在它上面的相关操作组合成一个类的过程,继承一种父子关系,子类可以拥有父类定的成员变量、属性以及方法。       多态就是指父类中定义的成员变量和方法被子类继承,父类对象可以表现出不同的行为。OC中的方法都是虚方法,运行时不看指针类型,根据生成对象的类型决定被调用的方法。       以交通工具为例,定义父类为Ve

2014-10-28 17:42:25 932

原创 OCP设计原则

所谓OCP设计原则就是Open Close Principle,即开闭原则。指软件的结构对扩展是开放的,对修改是关闭的。现有的软件结构可以无限制的扩展,而不能修改现有结构。        为达到OPC设计原则,就要将软件抽象,把软件的公共部分抽象出接口,然后其他类可以实现或依赖该接口。        以人养宠物为例。一个人养很多宠物,我们若直接让人和宠物直接关联起来,以后再增加一个宠物时代

2014-10-28 17:10:51 1025

原创 Objective C协议

协议类似于Java中的接口或者C++中的纯虚类,只有接口部分而没有实现部分只定义了方法的声明部分而没有实现部分。关键字为@protocol,协议可以继承别的协议,协议可以有多个用逗号分隔。协议中不能有成员变量。@protocol MyProtocol -(void) read;-(void)write;@end         定义一个MyProtocol协议继承自NSObject协议,

2014-10-28 16:14:38 600

原创 Objective c类的初始化

Objective c中实现类的初始化要先重载父类的init方法:1.首先调用[super init]使用父类的方法进行初始化,将对象赋给self2.如果self不为nil即父类初始化成功,接着进行本类的初始化3.返回self给调用者@implementation Test-(id)init{    if(self = [super init])    {

2014-10-28 10:26:00 1133

原创 从C到C++(下)

继承         从一个类派生到另外一个类,

2014-10-27 18:03:17 682

原创 从C到C++(上)

从C语言到C++语言,是面向过程到面向对象编程的跨越。面向对象编程的特点就是继承和动态绑定。C++通过类的派生来实现继承,通过虚拟函数支持动态绑定,虚拟函数提供了一些封装类体系实现细节的方法。面向对象编程的关键概念抽象(abstraction)——去除对象中不必要的细节,保留描述对象本质特征的关键字,抽象是一种设计活动。类 —— 是一种用户自定义类型,就好像int这样的内置类型一样。类

2014-10-27 16:58:03 940

原创 链式队列

//------------------------------队列----------------------------------------////队列与栈相反,是一种先进先出(FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素//允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front)//给链队列增加一个头结点,并令头指针指向头结点。空的链队列

2014-10-21 16:08:16 962

原创 顺序栈

顺序栈,即栈的顺序存储结构,是利用一组连续的地址单元依次存放自栈底到栈顶的数据元素。同时为栈结构设置栈底指针base与栈顶指针top。若base=NULL,则表明栈结构不存在。top指针初值指向栈底,top=base可用作栈为空的标记。新插入元素后栈顶指针top的值加1,删除元素时减1。即非空栈的栈顶指针top始终在栈顶元素的下一个位置上。//------------------------栈

2014-10-20 09:55:50 882

原创 约瑟夫问题——循环链表

在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k

2014-10-19 12:28:09 990

原创 静态链表

本篇是静态链表的C语言实现,实现书中算法2.13-2.17。       将数组中的一个分量表示结点,同时用游标代替指针指示结点在数组中的相对位置的,用数组来描述的链表叫做静态链表。       对于静态链表我们应注意:数组的第一个和最后一个元素做特殊处理,他们的data域不存放数据;通常把未使用的数组元素及删除的数组元素称为备用链表;数组的第一个元素,下标为0的那个元素的cur存放的就是

2014-10-18 18:02:56 1671

原创 const、typedef 、 define总结

const关键字const=read only,修饰的为只读变量而不是常量。const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后。主要作用有:1.通过把不希望被修改的变量或参数用const来修饰,编译器会保护这些变量不被修改增强系统的可靠性;2.增强代码的可读性[html] view plaincopyprint?

2014-10-17 17:58:10 806

原创 八皇后

在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。       结题思想:先给第一列的皇后一位置,根据规则,然后确定第二行皇后位置,以此类推,确定其余每列的皇后的位置。得出问题的解         给棋盘设置一个二维数组chess[8][8],全部初始化为0。找到每一列中合适的位置并赋为1,而确定列中元素的位置没有确定

2014-10-17 17:18:30 895

原创 汉诺塔

#include int c;void move(char x, int n, char z){    printf("%i. Move disk %i from %c to %c\n",++c, n,x,z);} void hanoi(int n, char x, char y, char z){    //将塔座x上按直径由小到大编号为1至n的n个圆盘按规则搬到

2014-10-15 21:11:57 951

原创 cocos2d音效设置

游戏音乐与音效cocos2d中使用SimpleAudioEngine可以很简单的播放背景音乐和音效背景音乐默认是循环播放的,音效默认是播放一次,而且一般情况音效都是很短的。下面我们首先来分析一下SimpleAudioEngine这个类这个类中有三个属性(backgroundMusicVolume,effectsVolume,willPlayBackgroundMus

2014-09-30 23:37:17 1206

原创 Objective-C——属性与成员变量辨析

上篇中提过,成员变量是在yi'dui'da'kuo'h

2014-09-18 10:00:06 1153 1

原创 Objective-C——类、方法、属性、成员变量

有过相关编程语言基础,了解C++/java的相信对类的类、对象等概念是了解的。在此我也不做过多地赘述。     关于OC中类的定义及方法使用这块,OC定义了一套自己的规范类的定义:       @interface FirstClass :NSObject   @end  //@interface表示声明的是一个类,“:”表示继承关系,@end类的结束类的实现

2014-09-17 19:50:08 1789

原创 C语言基础知识----联合 && 枚举 && 结构体

结构体struct 结构体标签(可选){    类型1 标识符1;     类型2 标识符2;     .......}(变量定义可选);联合union 可选的标签{     类型1 标识符1;     类型2 标识符2;     ........}可选的变量定义;联合与结构体相似,但内存布局上存在关键性的区别。结构体中每个成

2014-08-30 10:02:44 931

转载 简明vim练级攻略(陈皓)

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好

2014-08-28 16:32:31 903

原创 linux常用命令

linux下的命令行

2014-08-28 14:38:20 683

原创 Makefile简明教程

Linux的项目管理器Make

2014-08-25 17:51:09 1159

原创 Vim打造强大的编辑器

linux下的编程,vim无疑是一个非常棒的工具。完全命令行式的操作相比图形界面的操作更加简洁高效。关于vim的基本操作技巧,在陈皓的博客里有一篇很使用的简明教程简明Vim练级攻略。                  这里主要介绍的是,如何为Vim添加功能强大的插件,使我们的编程更加便捷高效。sudo apt-get install vim vim-scripts vim-doc

2014-08-24 18:20:55 1097

原创 6个变态的C语言Hello World程序——更好的理解C(4、5、6)

hello4.c[cpp] view plaincopyprint?main(){int i,n[]={(((1    1)>1)))+((1        1>1)))+ (1      >1))),(((1    >1)))- ((1      >1)))),(((1    >1      )))-((1>1)))),(((1        1>1)))-(1>1)

2014-08-22 15:56:15 1808

原创 Vmware 10.0安装Mac OS X Mountain Lion教程

前面两篇博文介绍了ubuntu下如何配置安装Mac风格的主题,折腾一番后我还是觉得不过瘾。于是想在电脑上安装Mac OS X系统,一番爬贴之后感觉难度较大啊,本来就装的是win8+ubuntu双系统,引导问题比较复杂,而且后期驱动对硬件支持问题也不小。无奈,只能转战虚拟机安装啦。               看到一个很好帖子,讲的很详细。我按照这个安装成功了。对于我们这种买不起硬件的穷

2014-08-19 22:34:04 865

原创 6个变态的C语言Hello World程序——更好的理解C(2、3)

接上一篇文章,6个变态的C语言Hello World程序——更好的理解C ,这篇文章给大家带来变态的Hello World程序2、3hello2.c #include main(){ int x=0,y[14],*z=&y;*(z++)=0x48;*(z++)=y[x++]+0x1D; *(z++)=y[x++]+0x07;*(z++)=y[x++]+0

2014-08-19 18:26:25 1250

vim多插件打包

由于vim管网有时候连不上去,特地将之前下载好的几个插件打包提供下载方便大家。

2014-08-24

DIY Mac风格主题 for ubuntu14.04

自己动手改的主题,主要是修复上个教程的BUG

2014-06-28

vim中文帮助文档

vim时linux下一个很强大的文本编辑器,改造能力超强 中文帮助文档能帮助你更好的使用它

2014-06-27

vim使用插件winmanager.zip

winmanager插件,集合了taglist窗口,显示文件夹的目录结构并显示程序中的宏\函数\变量等

2014-06-27

空空如也

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

TA关注的人

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