问题:
此问题由客户工程师提出,客户在使用STM32F103的USART做串口通讯时,发现了一个问题,当设备正常通信一段时间后,串口不响应外部的通信请求了.
如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使...
volatile 的英文解释是——“易失的,易改变的”。
顾名思义,这个关键字的含义是向编译器指明变量的内容可能会由于编译器意想不...
一、五大内存分区:
内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
1、栈区(stack):FIFO就是那些由编译器在...
这些函数由于设计的时候比较淳朴,并没有做任何的越界检测,主要容易"被溢出",只需要多设点检查边界,即安全。
函数
严重性
解决方案
get...
附程序分布图:
程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函...
所谓位运算是指进行二进制位的运算。
C语言提供了如下的位运算符:
基本格式:a&b1.1.1 按位与运算符
基本规则:0&0 = 0 0&1 = ...
一、程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分:
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,...
为什么我用malloc分配了一个int的空间可以输入3个int?但是如果分配10个int,把3改成11,编译就会出错。为什么呢,我用devc++编译的
#include<s...
大内高手—常见内存错误
随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调...
概述
Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。
鉴于...
scanf() 有很多问题—— 参见问题12.15, 12.16 和12.17。而且, 它的%s 格式 有着和gets() 一样的问题(参见问题12.20)...
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。
下面列举一些成熟软件中常用得宏定义……
1,防止一个头...
今天面试,其中两道是关于硬件操作,不是特别熟,
求各位大虾指点一下:
1, 已知一个32位的字, 请给出一个高效的算法计算其中1的个数,可以使用临时变量。
&...
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。
文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。许多面试题看似简单,却需...
sizeof是关键字,不是函数。
记住:sizeof 在计算变量所占空间大小时,括号可以省略,而计算类型(模子)大小时不能省略。一般情况下,还是不要偷懒,把括号写上...
今天再次遇到一个C语言的细节问题,并且发现自己以前的理解不正确,然后总结了一下,写出本文。请看下面的代码:
#include <s...
问题:
“Segmentation violation”, “Bus error” 和“General protect...