C语言问题的嵌入式开发指南
ARM与嵌入式','ARM与嵌入式 2024-06-06

用预处理指令 #define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题):

#define SECONDS_PER_YEAR  (60 * 60 * 24 * 365)UL

写一个标准宏MIN,这个宏输入两个参数,并返回较小的一个:

#define MIN(A,B) ((A) <= (B) ? (A):(B)) 

预处理器标识 #error 的目的是什么:

#error : 停止编译 并显示 错误信息 

嵌入式系统中经常要用到无限循环,你怎么样用C语言编写死循环:

用变量a给出下面的定义:

  • 整形数:int a;

  • 指向整型数的指针:int * a;

  • 指向指针的指针,它指向的指针指向整型数:int * * a;

  • 有10个整型数的数组:int a[10];

  • 有10个指针的数组,它的指针指向整型数:int * a[10];

  • 指向有10个整型数的数组的指针:int ( * a ) [ 10 ];

  • 指向函数的指针,该函数有一个整型参数,并返回一个整型数:int ( * a)(int);

static的作用,请写出两个:


关键字const的作用:

另外使用const定义变量:

volatile的作用:

定义为volatile的变量可能会被意想不到地改变,优化器在用到这个变量时必须重新读取这个变量的值,而不是保存在寄存器里的备份。

volatile变量的例子:

嵌入式系统总是要用户对变量或寄存器,进行位操作:

嵌入式系统经常具有要求程序员去访问某特定的内存位置,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66:

中断的概念:

当某个事件发生时,CPU 停止运行正在执行的程序,而转去执行处理该事件的程序,处理该事件后,返回原程序继续执行下去的过程。

ISR:中断服务程序(Interrupt Service Routines)。

下面代码输出的结果是什么?

当表达式 中存在 有符号类型 和 无符号类型 时,所有的 操作数 都自动转换为 无符号类型,因此 -20 变成了一个非常大的正整数,该表达式计算出的结果 大于6,答案是输出 > 6。

动态内存分配:

typedef语句用于给基本数据类型和导出数据类型定义一个新的名字:


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • C语言
  • 编程
  • 软件开发
  • 程序
  • 驱动系统的定义:解析动力传输的核心概念

    驱动程序本质上是软件代码,主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功能的,也就是...

    昨天
  • 驱动系统的定义及其在自动化领域的应用

    驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能...

    昨天
  • 操作系统的安全性和功能如何提高系统性能?

    计算的操作系统对于计算机可以说是十分重要的,从使用者角度来说,操作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等,运用计算机操作系统可以减少人工资源分配的工作强度,使...

    昨天
  • 计算机体系结构的优化方法有哪些?

    计算机操作系统诞生初期,其体系结构就属于简单体系结构,由于当时各式各样影响因素的作用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操作系统结构呈现出一种混乱且结构模糊的状态,其操作系统的...

    昨天
  • 线程概述如何影响程序性能?

    线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题?对于...

    昨天
  • MCU原理及区别:实用技巧与建议

    1.对密集的乘法运算的支持GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘 法。DSP处理器还增加了累加器寄存器来处理多个乘积的和...

    昨天
  • C++锁机详解:应用场景与实用代码一网打尽

    一、互斥锁(Mutex)1. std::mutex含义: std::mutex 最基本的互斥锁,当一个线程占用

    昨天
  • C语言如何将字符串处理成数字?

    ADC的种类很多,对应的精度和误差也有很多,本文就来讲讲关于ADC精度和误差的内

    06-07
  • C++ 调用 C 的方法

    C语言代码中 extern C 的前世今生。

    06-07
  • 编程21年的经验分享

    老工程师总结的10条编程经验

    06-07
  • 什么是状态机?

    玩单片机还可以,各个外设也都会驱动,但是如果让你完整的写一套代码时,却无逻辑与框架可言。这说明编程还

    06-07
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告