上一页 1 ··· 74 75 76 77 78 79 80 81 82 ··· 103 下一页
摘要: 变量可以作为函数的参量和返回值,代表的数据(相对应的是算法); 指针可以作为函数的参量和返回值,代表的是内存;(指针可以无差别的访问任何内存); 对象可以作为函数的参量和返回值,代表的是数据和操作;或者说是操作及其数据上下文。 对象作为参量和返回值,传递的是数据和操作的结合;优与传递数据和指针; 函 阅读全文
posted @ 2018-01-14 11:56 zzfx 阅读(401) 评论(0) 推荐(0)
摘要: 应对复杂性的能力不同。 我们知道现在存在着两种不同的编程方式-1) 面向过程编程(POP)以及2)面向对象编程。我们可以任意选择一种方式来编写程序,但是我们得知道这两种编程方式的区别。这两种编程方式是软件开发历经几十年发展的结果。从计算机被发明起,人们尝试了很多方法来编写程序,例如a)自顶向下编程; 阅读全文
posted @ 2018-01-12 20:05 zzfx 阅读(535) 评论(0) 推荐(0)
摘要: Main paradigm approaches[edit] The following are widely considered the main programming paradigms, as seen when measuring programming language popular 阅读全文
posted @ 2018-01-12 20:00 zzfx 阅读(477) 评论(0) 推荐(0)
摘要: In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats  阅读全文
posted @ 2018-01-12 19:56 zzfx 阅读(308) 评论(0) 推荐(0)
摘要: n computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.[1] A 阅读全文
posted @ 2018-01-12 19:55 zzfx 阅读(422) 评论(0) 推荐(0)
摘要: Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantia 阅读全文
posted @ 2018-01-12 17:05 zzfx 阅读(251) 评论(0) 推荐(0)
摘要: 声明式编程需要底层或运行时环境支持。 声明式语言的关键词确定了执行的关键控制流。 表述编程语言是说明性的东西;而不是具体的执行方案。 通常他的执行由解释器进行。 In computer science, declarative programming is a programming paradig 阅读全文
posted @ 2018-01-12 15:59 zzfx 阅读(508) 评论(0) 推荐(0)
摘要: 编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式。随着编程方法学和软件工程研究的深入,特别是OO思想的普及,范式(Paradigm)以及编程范式等术语渐渐出现在人们面前。面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范 阅读全文
posted @ 2018-01-12 15:34 zzfx 阅读(1159) 评论(0) 推荐(0)
摘要: Different approaches to programming have developed over time, being identified as such either at the time or retrospectively. An early approach consci 阅读全文
posted @ 2018-01-12 14:51 zzfx 阅读(305) 评论(0) 推荐(0)
摘要: 软件问题对象的问题: 1)业务逻辑的复杂型; 2)软件组件的规模; 软件复杂度的升级:一维线性(单纯计算);二维平面(带有业务逻辑的结构型计算);三维立体:描述复杂的现实世界; 针对软件开发任务的升级,编程思想也有一个相应的升级过程: 编程思想的进化; 1)面向计算:计算机出现的驱动力,具有唯一解; 阅读全文
posted @ 2018-01-12 11:25 zzfx 阅读(205) 评论(0) 推荐(0)
摘要: 结构话编程强调的是对流程的控制; 它为面向过程编程提供天然的支持。 Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a  阅读全文
posted @ 2018-01-12 11:07 zzfx 阅读(852) 评论(0) 推荐(0)
摘要: 让我们总结一下:编译器把一个cpp编译为目标文件的时候,除了要在目标文件里写入cpp里包含的数据和代码,还要至少提供3个表:未解决符号表,导出符号表和地址重定向表。 未解决符号表提供了所有在该编译单元里引用但是定义并不在本编译单元里的符号及其出现的地址。 导出符号表提供了本编译单元具有定义,并且愿意 阅读全文
posted @ 2018-01-11 18:50 zzfx 阅读(566) 评论(0) 推荐(0)
摘要: 库是没有链接的编译单元的集合 1.弱符号与强符号 对C/C++而言,编译器默认函数和初始化了的全局变量为强符号。未初始化的全局变量为弱符号。此处弱符号与强符号均是针对定义来说的,不是针对符号的引用。也可以通过GCC的 “__attribute__((weak))”来定义任何一个强符号为弱符号。 [c 阅读全文
posted @ 2018-01-11 18:25 zzfx 阅读(687) 评论(0) 推荐(0)
摘要: 1. 强符号和弱符号 1.1 u-boot和kernel中的__weak指令 u-boot和kernel比较普遍地使用了__weak来定义函数。 在include\linux\compiler-gcc.h中__weak是这样定义的: #define __weak __attribute__((wea 阅读全文
posted @ 2018-01-11 18:07 zzfx 阅读(1412) 评论(0) 推荐(0)
摘要: 注意,强符号和弱符号都是针对定义来说的,不是针对符号的引用。 一、概述 在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号,未初始化的全局变量是弱符号。 对于它们,下列三条规则使用: ① 同名的强符号只能有一个,否则编译器报"重复定义"错误。 ② 允许一个强符号和多个弱符号,但定义会选 阅读全文
posted @ 2018-01-11 17:59 zzfx 阅读(459) 评论(0) 推荐(0)
摘要: 一、编译链接 在编写linux驱动程序时,时常会发现链接出错,当时往往不知道错误在哪。现在了解到链接器的工作原理之后,明白当时为什么出错了。对于以后有效率地编写驱动程序有很大帮助。一个C语言程序,经过诸如GCC之类的编译器编译成可执行文件一般会经历4个处理过程,这个大部分的linux入门书籍都有讲到 阅读全文
posted @ 2018-01-10 22:01 zzfx 阅读(511) 评论(0) 推荐(1)
摘要: 链接器如何解析多重定义的全局符号 在编译时,编译器向会便器输出每个全局符号,汇编器把这些信息隐含地编码在可重定位目标文件的符号表内。函数和初始化的全局变量是强符号,未初始化的全局变量是弱符号。根据强弱符号的定义,unix链接器使用以下规则处理多重定义的符号:1)不允许有多个重定义符号是强符号;2)如 阅读全文
posted @ 2018-01-10 21:59 zzfx 阅读(723) 评论(0) 推荐(0)
摘要: 编译器生产组件; 链接器将这些组件拼装到一起。 阅读全文
posted @ 2018-01-10 20:09 zzfx 阅读(240) 评论(0) 推荐(0)
摘要: hook的本质就是在本原可执行文件中加东西。 本质就是添加东西; 阅读全文
posted @ 2018-01-10 18:23 zzfx 阅读(324) 评论(0) 推荐(0)
摘要: 在Mac的开发中, 有没有想过当我们点击可执行文件之后,Mac究竟做了什么事情才让我们的程序运行起来? 对于应用层开发人员或者普通的用户而言, 其实无需知道的这么详细;但是对于内核开发人员而言, 如果能了解这一系列的过程, 那么将增强我们的内核的开发功底。 那么下面我们开始分析我们的鼠标点击之后, 阅读全文
posted @ 2018-01-10 18:03 zzfx 阅读(1168) 评论(2) 推荐(0)
上一页 1 ··· 74 75 76 77 78 79 80 81 82 ··· 103 下一页