嘿嘿白日的博客

成为自己想要成为的人

#define中 #与##的神奇用法

http://zjf30366.blog.163.com/blog/static/411164582009061075923/ #define f(a,b) a##b  #define d(a) #a  #define s(a) d(a)  void main( void )  {      p...

2019-01-23 15:20:33

阅读数 12

评论数 0

mtk平台的gpio控制

https://yq.aliyun.com/ziliao/273436   一.mtk平台的gpio控制  1.1 内核中的gpio配置  //设置gpio18为GPIO模式  mt_set_gpio_mode(GPIO18, GPIO_MODE_GPIO);    //设置gpio18方向为...

2019-01-22 19:27:15

阅读数 30

评论数 0

人工智能学习

http://www.cnblogs.com/NiceCui/p/8213723.html

2018-06-20 20:47:42

阅读数 267

评论数 0

Ubuntu 链接ln的使用:创建和删除符号链接

一 、 使用方式  ln [option] source_file dist_file (source_file是待建立链接文件的文件,dist_file是新创建的链接文件) -f 建立时,将同档案名删除. -i 删除前进行询问. ln -s abc cde 建立abc 的软连...

2018-03-06 10:52:37

阅读数 1017

评论数 0

linux安装gcc-arm-none-eabi

1.下载地址 https://launchpad.net/gcc-arm-embedded/+download 2.安装方法      a.安装路径                cd usr/bin      b. 解压                  ...

2018-03-01 14:16:45

阅读数 87

评论数 0

Ubuntu(Linux) 下 unzip 命令使用详解

1.功能作用:解压缩zip文件 2.位置:/usr/bin/unzip 3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] 4.主要参数 -c 将解压缩的结果显示到屏幕上,并对字符做适...

2018-03-01 13:56:13

阅读数 131

评论数 0

CodeWarrior for ARM Developer Suite v1.2

CodeWarrior for ARM Developer Suite v1.2安装及使用         简称ADS 1.2 .它支持ARM10之前的所有ARM 系列微控制器,支持软件调试及JTAG硬件仿真,支持汇编,c和c++源程序,http://www.mcu123.com 下载 ...

2018-03-01 10:31:57

阅读数 965

评论数 1

typedef 用法总结

在C还是C++代码中,typedef都使用的很多,在C代码中尤其是多。typedef与#define有些相似,其实是不同的,特别是在一些复杂的用法上,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,加上自己的一个分析。 ...

2017-12-27 15:37:54

阅读数 43

评论数 0

C语言运算中的数据类型自动转换原则

问题1:  unsigned int a=20;  signed int b=-130; a>b?还是b>a?实验证明b>a,也就是说-130>20,为什么会出现这样的结果呢? 问题2: signed int b=-130; std::cout ...

2017-12-19 15:35:24

阅读数 347

评论数 0

extern关键字

extern关键字会提升变量或者函数的逼格,使得它们可以跨文件被访问。话虽然是这么说,使用这个关键字必须要注意一些东西。 首先,你得在cpp文件里面实现这些全局变量和全局函数,这是最基本的,然后只需要在需要用到这些变量和函数的文件里声明一下,用extern修饰声明,这样弄完之后就可以随意使用...

2017-12-05 20:12:03

阅读数 46

评论数 0

unbuntu vim 配置

资料:http://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html 1.Vim的安装:  输入命令:sudo apt-get install vim-gtk  2.Vim的配置:  (1)刚安装的VIM,可能界面并...

2017-12-05 16:29:06

阅读数 156

评论数 0

static作用

static作用:“改变生命周期” 或者 “改变作用域”   程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。 1.作用于变量:    用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺...

2017-12-05 09:53:46

阅读数 63

评论数 0

C++构造函数、拷贝构造函数、赋值函数浅析

C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它被调用来对类的数据成员进行初始化和分配内存。(构造函数的命名必须和类名完全相同)...

2017-11-30 23:57:59

阅读数 55

评论数 0

c++中冒号(:)和双冒号(::)的用法

1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用...

2017-11-26 23:15:50

阅读数 74

评论数 0

8种排序方式

1.选择排序 定义:首先,选出数组中最小的元素,将它与数组中第一个元素交换。然后找出次小的元素,并将它与数组中第二个元素交换。按照这种方法一直进行下去,直到整个数组排完序。 交换次数:N-1 缺点:运行时间对文件已有序的部分依赖较少,从文件中选出最小元素的每一遍操作过程,并没有给...

2017-11-07 00:39:44

阅读数 1437

评论数 0

printf()经常有重入和性能上,不可重入意思?

1.zz 这个概念在嵌入式操作系统中比较重要,由于存在任务的调度,它实时系统,可剥夺型内核中是危险的,如同一个安静的水雷。可能会被触发,也可能安然无恙。由于它运行结果的不可预期性,会使系统带来隐患 下面引用一段别人的解释: 这主要在多任务环境中使用 CodeGo.net,一个可重入的函数简单来...

2017-11-02 19:07:58

阅读数 336

评论数 0

typedef和#define的用法与区别

typedef和#define的用法与区别 一、typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef    int       INT; typedef    int  ...

2017-11-02 19:06:40

阅读数 48

评论数 0

系统调用实现过程

系统调用的实现与一般过程调用的实现相比,两者间有很大差异。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构及中断与陷入处理程序两部分。   中断和陷入硬件机构   图1所示为中断的处理过程。中断可进一步分为外中断和内中断...

2017-10-31 15:21:01

阅读数 949

评论数 0

assert()宏

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include assert.h> void assert( int expression );   assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向st...

2017-10-30 12:47:44

阅读数 73

评论数 0

变量声明和定义的区别

我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益) 变量的声明有两种情况: 1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间...

2017-10-24 16:55:35

阅读数 337

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭