编译原理和组成原理这一块,是我们比较头疼的。这一块接触的比较少,所以再理解起来的时候,就比较困难。但是所有的知识都是相联系的,万变不离其宗。...
分类:
其他好文 时间:
2014-07-22 23:05:32
阅读次数:
502
用于数据
永不改变的编译时常量,必须是基本类型,static final常量定义时必须赋值一个运行时被初始化却又不希望被改变的值空白final,确保使用前必须被初始化,但有更大的灵活性final参数,用于对象引用,对象不可改变,用于基本类型,值不可以改变
用于方法
防止方法的行为被改变,不可覆盖private方法默认为final的曾经使用final方法可以提高效率,现已不提倡
用于...
分类:
编程语言 时间:
2014-07-22 23:03:54
阅读次数:
357
第1部分 重新认识C语言makefile文件的书写及应用 【文章摘要】 makefile用于Linux下整个工程的编译,对于Linux下的C/C++语言的编译是至关重要的。 本文以实际的C源程序为例子,介绍如何使用makefile来编译Linux下的C语言工程,为相关开发工作的开展提供了参考。 【关键词】 makefile C语言 Linux 编译 ...
分类:
其他好文 时间:
2014-07-22 23:02:53
阅读次数:
294
一、引用的本质是什么
说到引用,一般C++的教材中都是这么定义的:
1,引用就是一个对象的别名。
2,引用不是值不占内存空间。
3,引用必须在定义时赋值,将变量与引用绑定。
那你有没有想过,上面的定义正确吗?编译器是如何解释引用的?
这里先给出引用的本质定义,后面我们再进一步论证。
1,引用实际是通过指针实现的。
2,引用是一个常量指针。
3,引用在内存中...
分类:
编程语言 时间:
2014-05-01 18:06:17
阅读次数:
388
编译过程简介 : C语言的源文件 编译成 可执行文件需要四个步骤, 预处理 (Preprocessing) 扩展宏, 编译 (compilation) 得到汇编语言, 汇编 (assembly) 得到机器码, 连接 (linking) 得到可执行文件;
-- 查看每个步骤的编译细节 : "-E" 对应 预处理, "-S" 对应 编译, "-c" 对应 汇编, "-O" 对应 连接;
-- 每个步骤对应的工具 : 预处理器 (CPP - The C Preprogressor), 编译器 (cc1), 汇编器...
分类:
其他好文 时间:
2014-05-01 17:55:35
阅读次数:
499
应用需求:
提供皮肤切换选项,在不重启应用程序的情况下实现皮肤的动态切换。
理论基础:
1) 图片资源是如何被利用的
这里先简要说明一下实现原理,皮肤的动态切换其关键在于图片资源的加载方式。QT中每个应用程序启动后都会维护属于自己的资源子库,所有的图片以及UI资源都实现编译到rcc文件中,而rcc文件是整合了所有资源的二进制文件,这种...
分类:
其他好文 时间:
2014-05-01 17:19:33
阅读次数:
465
C++ Primer Plus学习笔记之拷贝构造函数
1,什么是拷贝构造函数
拷贝构造函数有两个含义:
首先,它是一个构造函数,当创建一个新对象时,系统自动调用它;
其次,它将一个已经定义过的对象的数据成员逐一对应的复制给新对象;
如果一个类没有显式定义拷贝构造函数,C++编译器可以为该类产生一个缺省的拷贝构造函数。这个缺省的拷贝构造函数采用C的方式,将拷贝对象的内存一个字节一个字节的拷...
分类:
编程语言 时间:
2014-04-30 22:24:39
阅读次数:
537
语言发展
计算机的硬件只能识别0和1组成的机器指令,而机器指令是最基本的计算机语言,但是我们平时进行程序设计时肯定不会用机器语言来编程,因为用它的效率低,更让人难以理解。因此聪明的人类发明了汇编语言,它使用符号来表示指令,例如用ADD表示加法,这就容易理解了。但是汇编语言和机器语言十分接近,其书写取决于机器指令,因此它还是一种面向机器的语言,所以称它为低级语言。相应的,又在此基础上,开发出...
分类:
其他好文 时间:
2014-04-30 22:24:38
阅读次数:
319
一、const是什么
在 C/C++ 语言中,const关键字是一种修饰符。所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点。在编译的过程中,一旦我们的代码试图去改变这些东西,编译器就应该给出错误提示。
所以,const修饰符的作用主要是利...
分类:
编程语言 时间:
2014-04-30 22:13:39
阅读次数:
389
long long定义方式可以用于gcc/g++,不受平台限制,但不能用于VC6.0。__int64是Win32平台编译器64位长整型的定义方式,不能用于Linux。“%lld”用于Linux i386平台编译器,”%I64d”用于Win32平台编译器。cout只能用于C++编译,在VC6.0中,cout不支持64位长整型。...
分类:
其他好文 时间:
2014-04-29 13:35:21
阅读次数:
309