高级C语言-内存

内存

(1)程序运行的目的
程序的目的就是为了去运行,程序运行是为了得到一定的结果,计算机就是为了计算,所有的计算机就是为了计算,计算数据。计算机程序 = 代码 + 数据。
宏观理解:代码就是动作,就是加工数据的动作,数据就是数字,就是代码加工的东西。
代码 + 数据 = 结果
用函数来类比:函数的形参就是代加工的数据;函数本体是代码,函数的返回值就是结果,函数体的执行过程的过程。

int add(int a,int b)
{
   
	return a+b;
}//这个函数即看重过程也看重结果
void add(int a,int b)
{
   
	int c;
	c = a + b;
	printf("c= %d.\n",c);
}//这个函数只看重过程

(2)计算机程序运行过程
计算机程序的运行过程,其实就是程序很多个函数相继运行的过程。程序是由很多函数组成的,程序的本质就是函数,函数的本质就是加工数据的动作
(3)冯洛伊曼结构和哈弗结构
冯洛伊曼结构:数据和代码放在一起
哈弗结构:数据和代码分开存放
代码:函数就是代码
数据:全局变量和局部变量
在SPV210中运行的linux系统上,运行程序时:这时候所有的应用程序的代码和数据都在DRAM,所以这个结果就是冯洛伊曼结构;在单片机中,我们吧程序代码烧写到Flash(内置的NorFlash)中,然后程序在Flash中原地运行,程序中涉及的数据(全局变量,局部变量)不能放在Flash中,必须放在RAM(静态的SRAM)中,这个结构称为哈佛结构。
(4)动态内存DRAM和静态内存SRAM
动态随机存取存储器(Dynamic Random Access Memory,DRAM)
静态随机存取存储器(Static Random-Access Memory,SRAM)
(5)为什么需要内存
内存时用来存储可变数据的,数据在程序中表现为全局变量,局部变量等(在gcc中,其实常量也是存储在内存中)(大部分单片机中,常量时存储在Flash中,也就是代码段)
我们了解的很多编程的关键就是为了内存,譬如说数据结构(数据结构是研究数据如何组织,数据是放在内存中)和算法(为了更优秀的方式来加工数据,既然数据有关就离不开内存)。
(6)如何管理内存
对于计算机来说:内存容量越大则可能性越大,所以大家都希望自己的电脑内存越大。我们写程序如何管理内存就成了很大的问题。如果管理不好,可能程序运行就会消耗大量的内存,这样迟早内存会不够,当没有内存时,程序就会崩溃。所以内存对程序来说是一种资源,所以管理内存对程序来说是一个重要的技术和话题。
先从操作系统来说&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
凌明嵌入式高级c语言编程课件是一门针对嵌入式系统开发的高级C语言编程课程。该课程主要围绕嵌入式系统的开发和优化展开,旨在培养学员的嵌入式开发能力和C语言编程技巧。 该课程主要包括以下内容: 1. 嵌入式系统简介:介绍嵌入式系统的特点、应用领域以及嵌入式开发环境的搭建。 2. C语言基础:回顾C语言的基本语法和程序结构,包括变量、数据类型、运算符、控制结构等。 3. 嵌入式硬件编程:深入学习嵌入式硬件的相关知识,包括寄存器的使用、外设的配置和驱动编写等。 4. C语言高级特性:讲解C语言高级特性,如指针、位操作、结构体、函数指针等,以及如何在嵌入式系统中应用这些特性。 5. 嵌入式系统优化:介绍嵌入式系统的优化技术,包括代码优化、内存管理、性能优化等,以提高系统的效率和稳定性。 6. 实践项目:通过实践项目来巩固所学知识,让学员能够亲自完成嵌入式系统的设计和开发。 通过学习该课程,学员将能够掌握嵌入式系统开发所需的核心知识和技能,能够独立完成嵌入式系统的设计和开发工作。此外,该课程还提供了丰富的实践项目,帮助学员将所学的知识应用到实际项目中,培养实际操作能力和解决问题的能力。 总之,凌明嵌入式高级c语言编程课件是一门全面且实用的嵌入式开发课程,适合有一定C语言基础和对嵌入式开发感兴趣的学员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值