Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Objective-C的委托机制【附代码】

Objective-C的委托机制【附代码】

委托在IOS开发框架Cocoa Touch 中经常使用,其含义是一个类的对象要求委托对象执行它的某些操作。委托机制实际是种设计模式,通过此种机制,能降低对象间的耦合。还是不继续说概念了,直接上定义代码。//环境//Mac OS X 10.3.7//Xcode Version 4.2.1//使用的是Xcode的Command Line Tool工程,结果由命令行输出@interfaceMyFrameWork:NSObject{ } @property(non...
C++实现的委托机制

C++实现的委托机制

1.引言下面的委托实现使用的MyGUI里面的委托实现,MyGUI是一款强大的GUI库,想理解更多的MyGUI信息,猛击这里。我们的目标是要实现一个跟.NET几乎完全一样的委托,使用简单,支持多播,可以添加删除委托。同时支持C++的普通函数、模板函数、类成员函数,类的静态成员函数,并且支持多态。最终的代码可以在这里下载: 免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /20...
C/C++ 设计模式:关于使用typeid时要注意的问题

C/C++ 设计模式:关于使用typeid时要注意的问题

typeid可以获取到一个对象或引用的确切类型,这在多态编程下非常有用。要使用typeid,首先确保你的编译器开启了运行时类型检查(RTTI)。在visual studio中打开该项目的"属性页" -> "C/C++" -> "语言"修改"启用运行时类型信息"属性为是即可今天在测试typeid的使用时,写了小段代码测试classBase{}; classDerived:publicBase{}; intmain() { Derivedd; Ba...
C++模板实现的通用工厂方法模式

C++模板实现的通用工厂方法模式

1.工厂方法(Factory Method)模式工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法模式结构示意图工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的...
浅谈结构体及Linux下内存分配原则

浅谈结构体及Linux下内存分配原则

结构体在程序中的应用是很广泛的,要处理的问题越复杂,数据量越多月杂,就越需要用到结构体。比如网络,内核,驱动等等。熟练使用结构体对每个程序员都是至关重要的。一个好的结构体不仅能使程序体系结构清晰,而且使得操作灵活,可扩展性强。linux网络之所以很强大,这和它里设计合理的数据结构有很大关系。结构体定义:structa{intxx:4;intyy:4;};结构体初始化:方式一:structaaa={xx:2,yy:3};方式二:structacc={.xx=...
关于C语言中结构体字节对齐问题

关于C语言中结构体字节对齐问题

一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按...
字符驱动设计----mini2440 LED驱动设计之路

字符驱动设计----mini2440 LED驱动设计之路

大多数书籍在介绍字符驱动过于理论化,纵览一章都是些文字,再附上一些零碎的代码,看的人头晕,时间长了自然就不想看了。 对于驱动的学习,刚开始不能过于理论化,一定要结合实际,要不然像空中楼台,住在上面,心里老感觉不踏实。那么如何入手呢?我觉得三点是很重要的:1 驱动设计的总体框架(对于每种类型的驱动设计,最好画出模型图)2 参考现有实例化的驱动3 针对某一具体硬件,自己写驱动来实现接下来以字符驱动设计为例,也是mini2440led驱动实现。1 字符设备驱动模...
U-Boot移植过程中的运行地址和装载地址的区别

U-Boot移植过程中的运行地址和装载地址的区别

uboot移植涉及到底层硬件的设置,因此需要掌握UART、系统时钟频率、NOR FLASH、NAND FLASH、SDRAM、网卡、存储控制器等硬件的功能及配置,这些都可以参照相应开发板的芯片手册来完成,没有什么大的问题。在移植过程中,一直困扰我的是PIC(代码无关性)问题,即运行地址和加载地址的区别,看过网上很多关于这两者的介绍,感觉懂一点,却一直不知所然。在参考大量的文献下,算是得了一点心得。 首先来了解下运行地址及加载地址的区别 运行地址:也叫链...
《APUE》:对各个标准I/O流打印缓冲状态

《APUE》:对各个标准I/O流打印缓冲状态

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu 10.04上测试通过。相关链接《UNIX环境高级编程》(第二版)apue.h的错误 http://www.linuxidc.com/Linux/2011-04/34662.htmUnix环境高级编程 源代码地址 http://www.linuxidc.com/...
《APUE》:递归遍历目录层次结构,并按文件类型计数

《APUE》:递归遍历目录层次结构,并按文件类型计数

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu 10.04上测试通过。相关链接《UNIX环境高级编程》(第二版)apue.h的错误 http://www.linuxidc.com/Linux/2011-04/34662.htm Unix环境高级编程 源代码地址 http://www.linuxidc.com...
《APUE》:打印指定的描述符的文件标志

《APUE》:打印指定的描述符的文件标志

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu 10.04上测试通过。相关链接《UNIX环境高级编程》(第二版)apue.h的错误 http://www.linuxidc.com/Linux/2011-04/34662.htm Unix环境高级编程 源代码地址 http://www.linuxidc.com...
<< 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 >>