独舞风

用心呵护小小的梦想,专注于嵌入式系统开发!——WXW

玩儿转C语言:bit 位域大小端转换及传输

注:这篇文章在c语言的位结构体定义上,以及内部存储和通信传输上介绍了很多,转载保存以备查看! 计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),...

2016-05-31 18:27:07

阅读数 1788

评论数 0

项目管理《最后期限》:8—10章

第8章 大名鼎鼎的尼佐利博士         1、在项目管理工作中,没有“短期调整”和“短期生产力提高”这样的东西。         — —生产力的提高是来自长期投资的,任何承诺立刻见效的东西都很可能是江湖游医所卖的万灵油。永远都没有办法在短期内提高生产力,当你把一切都安排好以后,你能得到的生...

2013-11-10 16:37:56

阅读数 1170

评论数 0

项目管理《最后期限》:5—7章

第5章 元首          1、一个人作为头儿而不是CEO来管理研发项目,可以获得管理上的优势“没有人会拒绝,没有反对者”,但是不拒绝不代表能够完成,这样管理者反而无法听到最真实的前线炮火声。         — —当老板利用天然优势强行干预项目进度时,他就需要做好承担因忽略客观规律而造成更严...

2013-09-07 00:31:38

阅读数 1224

评论数 2

项目管理《最后期限》:1—4章

1、文案工作:意指除去对人的管理之后,项目管理只剩下枯燥的文档,而不再有管理的作用。 2、”制定甘特图、波特图、状态报告、与人力资源部门的交流规范、每周会议计划、电子邮件使用规定、时间卡、进度跟踪记录、项目里程碑报告和质量管理程序等等“,这些都是项目管理中的硬科学,是所谓的”文案工作“。 ...

2013-07-28 23:18:17

阅读数 1180

评论数 0

玩儿转C语言:系统内存模型之实模式和保护模式

要想对C语言有一个深入的理解,就不得不说它赖以生存的环境,这里简要介绍一下系统内存模型。内存模型,就不得不说业界知名的Wintel联盟,到底是谁选择了谁?又是谁成就了谁?反正已成事实鬼才知道! 1、Intel 80x86系列处理器 关于Intel X86家族的发展历史这里不想赘述,无非就是:字长...

2013-07-06 12:53:09

阅读数 2274

评论数 2

玩儿转C语言:运算符的优先级和结合性

C语言中,优先级规定了当多个运算符同时存在时表达式的求值顺序;结合性指出当多个优先级相同的运算符存在时表达式的求值顺序,可以消除歧义,优先级相同的运算符它们的结合性也一致。 C语言的优先级列表如下(最新版取自:http://en.cppreference.com):          例...

2013-01-17 22:38:17

阅读数 1862

评论数 0

玩儿转C语言:整数及相关操作

1、C语言中整数有几种进制表示方式?使用时要注意哪些问题?         C语言中可以以多种进制表示整数:2进制、8进制、10进制和16进制。每个进制都有其对应的表示方式:2进制以0b开头,例如0b10111110,;8进制以0开头,例如0144表示的是10进制的100;10进制正常表达即可,...

2012-12-19 00:02:52

阅读数 2802

评论数 0

【1.9】系统漫游——几个关键概念

为了后期学习方便,这里需要对几个关键概念进行阐述。 1、并发和并行          这里以单处理器系统为例进,并发是个宏观概念,指在某一时间段内有超过1个的进程在处于活动状态;并行是个微观概念,指在某一时刻就有超过1个的进程处于活动状态。显然,单处理器系统是无法实现并行的,只能实现并发。处理...

2012-12-14 21:37:14

阅读数 1072

评论数 0

玩儿转C语言:声明和定义(1)

1、如何解释声明和定义,它们有何区别?        C语言中,某一模块内部的数据对象只能有一个定义,可以有多个extern声明。        定义是一种特殊的声明,它负责创建一个对象并分配空间。        声明告诉编译器对象的类型和名字,对象的内存分配在别处进行,无需再定义就可直接使...

2012-12-13 19:35:14

阅读数 1409

评论数 0

【1.7+1.8】系统漫游——操作系统管理硬件(包括网络)

前面的hello程序中,它并没有直接跟硬盘、内存和显示器诸如此类的硬件直接打交道,而是通过操作系统,操作系统给应用程序提供的统一的接口,应用程序把命令传递给操作系统,由操作系统来直接控制硬件,过程中操作系统充当了中间人(或者说管理者)的角色。如下图所示:             ...

2012-12-10 22:22:59

阅读数 1820

评论数 0

【1.5+1.6】系统漫游——高速缓存和金字塔型存储设备

从上一节:【1.4】系统漫游——系统硬件结构以及程序执行过程 中可以看到,hello执行过程中,代码和数据由硬盘copy到内存中,再由内存copy到寄存器中,最后由寄存器copy到显存中。为完成这么一个简单的数据显示动作,竟然需要对”倒腾“这么多次数据,而且根据”木桶理论“,系统的执行效率由最慢的...

2012-12-09 22:33:02

阅读数 1969

评论数 0

【1.4】系统漫游——系统硬件结构以及程序执行过程

如果想真正了解软件的执行过程,就必须分析它所依附的硬件平台。“计算机系统”(广义)发展这么多年,但基本模型不曾改变,不管是通用系统还是嵌入式系统等等。 1、系统硬件结构 一个典型系统的硬件组成如下图所示: 总线:连接系统各个部件的电子线路,做信号传输使用,有点类似于城市中的交通网络。...

2012-12-08 20:46:40

阅读数 2018

评论数 0

【1.3】系统漫游——了解编译系统如何工作的好处

虽然现代编译系统已经发展的相当“智能”,但并不能成为我们不去了解它的理由,它是我们代码转换的工具,要想使用好这个工具,就必须对它有相对全面的了解才行。 了解编译系统如何工作可以使我们: 1、优化程序性能:真正影响系统执行效率的是编译完成后的“二进制代码”,如果想做的更好,我们就非常有必要知道源...

2012-12-08 11:12:32

阅读数 1400

评论数 0

【1.2】系统漫游——“程序”被其他程序翻译成不同格式

计算机语言按照层次划分为:机器语言(0/1)、汇编语言(arm、x86、thumb)和高级语言(c++、java、c)。计算机真正执行的“程序流”是机器语言,早期的程序员都是用机器语言编程,后来为方便记忆发明了汇编语言,但仍然需记住很多硬件相关的操作指令,而且代码规模有限,人们又发明了高级语言。高...

2012-12-08 00:49:50

阅读数 1756

评论数 0

【1.1】系统漫游——信息就是位+上下文

计算机系统发展这么多年,虽然具体的实现方式一直在变,但底层的原理一直都不曾变化。为了更好的理解我们的程序是如何被执行如何被底层影响的,有必要开展一次全新的计算机系统之旅了。         我们学习C语言几乎都是从“helloword”开始的,这么一个简单的程序也需要计算机系统各个部件之间紧密配...

2012-12-07 22:38:45

阅读数 1677

评论数 0

玩儿转C语言:符号和字符(1)

编译原理中讲到程序构造的一般过程是:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。词法分析对应的就是C语言中的“单词”(也称“符号”),指的是程序的一个基本组成单元,每个符号都有自己固定的字符序列,但是同一个字符序列可能属于不同的符号。 例如:字符序列“->”,有可能...

2012-12-06 08:24:06

阅读数 1914

评论数 0

玩儿转C语言:宏定义(2)

1、如何区分宏定义中的“宏名称”和“宏字符串”?对于带参数的宏又该注意什么?         在宏定义中,“宏名称”和“宏字符串”是通过“空格”来区分的,在宏的扩展中,空格会对扩展的结果造成很大的影响。编译器在处理时宏定义时,首先从“#define”后第一个空格开始读取字符串,直到遇见下一个空格...

2012-12-05 00:40:36

阅读数 3345

评论数 2

玩儿转C语言:宏定义(1)

1、为什么要有宏定义?         代码中某个特定数值需要参与运算,而且该数值作用于多个地方,当需要对该数值进行修改时,希望只改动一个地方就能实现该数值的全部更新;即便某个数值只用到一次,当修改时也会面临搜索阅读大量代码、数值含义不明晰的问题;某些“操作块”封装成函数时,调用函数开销(保存上...

2012-12-03 11:21:00

阅读数 1920

评论数 0

玩儿转C语言:常见复合类型的声明--注意事项

1、结构体struct声明注意事项        结构的定义后面可以直接跟变量名,表示这些变量的类型是这个结构。例如:struct { *** } vol, rate ;这样就定义了两个结构体变量vol和rate。理解:跟基本类型变量的定义“ int number ”本质相同 ,可以认为 str...

2012-12-01 16:12:34

阅读数 1457

评论数 0

玩儿转C语言:数组和指针(2)

前面讲的都是数组的基本属性,这里我们再深入一步对多维数组进行分析,讨论一下数组和指针之间的前世今生,呵呵! 1、通过指针反向分析多维数组,代码及结果如下: 分析:        刚开始,建立了一个新的用户类型:指针类型,该指针指向一个拥有3个整型元素的数组。        如何理解...

2012-11-29 09:44:45

阅读数 1864

评论数 2

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