嵌入式编程

本文介绍了嵌入式编程中的C语言测试,特别是位制转换和volatile关键字的应用。位制转换部分通过实例分析了程序的输出。而在嵌入式系统中,volatile用于提示编译器变量可能被意外改变,防止优化。文章还讨论了volatile在中断服务子程序、并行设备硬件寄存器和多线程共享变量中的作用,并与const关键字进行了对比。最后,文章探讨了static关键字在函数局部变量、全局变量、模块内函数和类成员中的不同行为。
摘要由CSDN通过智能技术生成
嵌入式编程面试题汇总

C语言测试是招聘嵌入式系统程序员必须且有效的方法。

1.位制转换

Q:求下列程序的输出结果

 

A:第一个输出是0.000000  

      第二个输出是 一个大数

 

可参考博文:C语言中int到float的强制类型转换


2.嵌入式编程

Q1:中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供了一种扩展--让标准C支持中断,其代表事实是,产生了一个新的关键字_interrupt.

     请看下面的一个中断服务子程序ISR,指出这段代码的错误

 

A: ①ISR不能返回一个值;

       ②ISR不能传递参数;

       ③在很多编译器/处理器中,浮点数一般都是不可重入的(在ISR中做浮点运算是不明确的);

       ④printf()经常有重入和性能上的问题,所以一般不用printf()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值