-
第一招:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值:...
-
一、概念理解
PWM输入捕获模式是输入捕获模式的特例,自己理解如下
1. 每个定时器有四个输入捕获通道IC1、IC2、IC3、IC4。且IC1 IC2一组,IC3 IC4一组。...
-
1.首先我们先看看IAR自带的"if"和"for"模板,点击菜单栏Edit->Code Templates->Insert Templates,然后选择如下图所示:
...
-
相信学ARM的童鞋大多数都是先学过51的,你如果用Keil这样的编译环境的话,也许你会发现之前学校51的Keil开发环境无法兼容ARM,或者你在做项目,同时要用到Keil开发51单...
-
本文讲述了将ANSIC程序移植到KeilC51上应该注意的事项。文章讲述了存储类型、指针类型、重入函数、根据目标系统RAM的分布的段定位和仿真栈设置、函数指针、NULL指针问题、字...
-
由于程序都是从网上下载下来的,很多都是在ADS下编译的,而使用MDK并不能直接编译通过,先把我遇到的一些问题汇总一下,主要是汇编程序编译出现的问题。
warning:...
-
1. GNUgcc交叉编译器
运行于Linux操作系统下的自由软件GNUgcc编译器,不仅可以编译Linux操作系统下运行的应用程序、编译Linux本身,还可以作...
-
在C++中n%2==1什么意思?n/2什么意思?有n\2这种写法吗?
n%2==1 首先%是求余的符号,n%2就是对n求n除以2后的余数,这里余数只有两种情况就是0或者是1 ==...
-
写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源代码至关重要,接下来赞从下列方面聊聊阅读源码的事情。
·目的
...
-
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条...
-
在C/C++中经常需要进行存储器的操作,关于数据如何在存储器中存储的问题也是非常重要的,如何在保证数据量(信息量)的同时又保证数据的存储量最小,乍一听感觉没什么好讨论的。但是作为学...
-
堆栈是计算机程序中非常重要的一部分,主要用来参数的调用,局部变量的存储等,在C语言中的函数调用过程中通过不同函数的堆栈空间可以非常方便的找到传递进来的参数以及退出时应该返回的地址。...
-
文章关于链表,本次主要涉及几个比较深入的问题:循环链表的判定、倒数第m个节点的数据获取、多层次链表的设计、平铺和取消平铺。
/*...
-
试着用回溯法解,推理题,八皇后问题,解数独因为是一类问题就都写一个类里了
#include stdio.hclass TuiLi //推理类{&nbs...
-
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。
虽然这种做法毋庸置疑,在网上还是有...
-
这几天看到好友的文章关于while(1)和for(;;)效率的讨论,手痒说了两句。回头一寻思,自己也只是推断。没有做任何实验,我们就看看这两种写法到底有什么区别:
实...
-
一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇...
-
在C++中复制控制是一个比较重要的话题,主要包括复制构造函数、重载赋值操作符、析构函数这三部分,这三个函数是一致的,如果需要手动定义了其中了一个,那么另外的两个也需要定义,通常在存...
-
一、static在C语言里面可以用来修饰变量,也可以用来修饰函数。
1、 先看用来修饰变量的时候。变量在C语言里面可分为存在全局数据区、栈和堆里。
...
-
#define abc (*(volatile unsigned long *)0xE0200280)
开始对于上面的语法不太理解,但通过拆分,我们可以看的更明...