
程序语言和编译工具
文章平均质量分 59
rig622
这个作者很懒,什么都没留下…
展开
-
KEIL MDK中的RO、RW和ZI DATA
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保转载 2011-12-10 21:17:08 · 4010 阅读 · 0 评论 -
嵌入开发中C语言程序优化
下面是网络上收集关于ARM的C代码优化方法,在嵌入开发中应该有用: [声明:以下方法非本人发现和总结,均为有心之人无私贡献,谢谢他们的劳动与分享!]========================================================================================C数据类型 1. C语言的程序优化与编译器和硬件系统转载 2011-12-19 16:54:36 · 1421 阅读 · 0 评论 -
C语言字节对齐
一、什么是对齐,以及为什么要对齐1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能转载 2011-12-20 10:33:44 · 599 阅读 · 0 评论 -
不同类型变量与零值的比较 【C语言规范】
1、布尔变量与零值比较不可将布尔变量直接与 TRUE、FALSE 或者 1、0 进行比较。根据布尔类型的语义,零值为“假” (记为 FALSE) ,任何非零值都是“真” (记为TRUE) 。TRUE 的值究竟是什么并没有统一的标准。例如 Visual C++ 将 TRUE 定义为 1,而 Visual Basic 则将 TRUE 定义为-1。假设布尔变量名字为 flag,它与零值原创 2012-01-06 11:41:34 · 1135 阅读 · 0 评论 -
C++虚函数
虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。多态指同一个方法根据其所属的不同对象可以有不同的行为。下面来看一个例子:#include using namespace std;class Bas转载 2012-02-07 21:30:30 · 524 阅读 · 0 评论 -
C++中子类是否包含父类的private成员?
C++中子类是否包含父类的private成员? 通过以下代码可以了解:#include using namespace std;class Parent{private: int x, y, z;};class Child: public Parent{};int main(){ cout<<sizeof(Child)原创 2012-02-07 22:30:17 · 1657 阅读 · 0 评论 -
using namespace std详解
using namespace std 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一 : 和格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在转载 2012-02-12 22:43:24 · 900 阅读 · 0 评论