自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 linux C 函数

1、<locale.h>头文件1.1、头文件的部分内容:1.1.1、宏定义:#define LC_ALL 0#define LC_COLLATE 1#define LC_CTYPE 2#define LC_MONETARY 3#define LC_NUMERIC 4#define LC_TIME ...

2019-03-11 17:29:59 485

原创 ubuntu14.04中的配置文件(持续更新中)

1、环境变量的配置文件:/root/.bashrc。1.1、在/root/.bashrc文件中添加:PATH="$PATH:/usr/local/arm/valgrind/bin"和export PATH。就可以完成永久导出到环境变量中了。1.2、给linux命令其别名:在/root/.bashrc文件中添加:alias vi=‘vim’。...

2019-02-19 14:54:06 296

原创 C语言中的特殊函数(持续更新中)

1、递归函数1.1、递归函数:一个函数调用它自己本身,则这个函数就是递归函数。1.2、使用递归函数的条件:1.2.1、采用递归方法来解决问题,必须符合以下三个条件:  1.2.1.1、可以把要解决的问题转化为一个新问题,而这个新的问题的解决方法仍与原来的解决方法相同,只   所处理的对象有规律地递增或递减。  说明:解决问题的方法相同,调用函数的参数每次不同(有规律的递增或递减),如果...

2019-02-18 14:46:19 746

原创 ubuntu14.04命令工具笔记(持续更新中)

1、alias:给linux中的命令起别名1.1、查看linux系统中的指令别名:aliasroot@ubuntu:~# aliasalias egrep=‘egrep --color=auto’alias fgrep=‘fgrep --color=auto’alias grep=‘grep --color=auto’alias l=‘ls -CF’alias la=‘ls -A’...

2019-02-18 11:19:10 294

转载 Linux的access函数

1.函数功能:检查调用进程是否可以对指定的文件执行某种操作。2.函数原型:1)函数头文件#include <stdio.h>#include <unistd.h>2)函数int access(const char * pathname, int mode)3)形参pathname:需要检测的文件路劲名mode:需要测试的操作模式。4)函数返...

2019-04-29 11:50:37 286

原创 无锁编程

#include <stdio.h>#include <stdbool.h>int main(int argc, char **argv){ int i = 10, j = 0; //先将i的值返回,再将i+1 j = __sync_fetch_and_add(&i, 1); printf("加:i=%d j=%d ", i, j); //先将...

2019-04-28 20:16:10 159

转载 Ubuntu18.04的网络配置

网卡与DNS配置1)打开命令窗口(右键单机桌面选择Open Terminal或者用快捷键Ctrl+Alt+T打开终端),输入ip a查看自己的网卡编号2)输入命令sudo vim /etc/network/interfaces,编辑该文件。注意此处 ens33 处用自己的网卡编号替换,address和gateway也是要视自己的情况定的。wq 保存退出,此时ping一些自己的内网应该是可...

2019-03-18 18:37:37 717

转载 C语言的调用模式__cdecl __fastcall与 __stdcall

调用约定:__cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,2、_cdecl是C和C++程序的缺省调用方式。每一个...

2019-03-13 09:21:02 780

原创 C语言可变参数

C语言的可变参函数C语言中可变参数函数实现原理C函数调用的栈结构但是对于变长参数的函数,我们就没有这么顺利了。还好,按照C标准的说明,支持变长参数的函数在原型声明中,必须有至少一个最左固定参数(这一点与传统C有区别,传统C允许不带任何固定参数的纯变长参数函数),这样我们可以得到其中固定参数的地址,但是依然无法从声明中得到其他变长参数的地址,比如:从这个结果来看,显然参数是从右到左,逐一压入栈中的(...

2019-03-07 13:44:28 309

转载 C语言-单链表详解

链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。链表都有一个头指针,一般以head来表示,存放的是一个地址。链表中的节点分为两类,头结点和一般节点,头结点...

2019-03-02 11:47:33 364

转载 SPI协议详解

1.1.SPI协议概括  SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚...

2019-03-01 09:13:34 854

原创 IIC总线

(1)概述I2C(Inter-Integrated Circuit&nbsp;BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。经常IIC和SPI接口被认为指定是一种硬件设备,但其实这样的说法是不尽准确的,严格的说他们都是人们所定义的软硬结合体,分为物理层(四线结构)和协议层(主...

2019-02-28 15:59:38 313

转载 C语言地址对齐

1、地址对齐的目的:为了效率,以空间来换时间。1.1.1、为了提高效率,计算机从内存中取数据是按照一个固定长度的。以32位机为例,它每次取32个位,也就是4个字节(每字节8个位,计算机基础知识,别说不知道)。字节对齐有什么好处?以int型数据为例,如果它在内存中存放的位置按4字节对齐,也就是说1个int的数据全部落在计算机一次取数的区间内,那么只需要取一次就可以了。如图a-1。如果不对齐,很...

2019-02-28 15:56:28 5684 1

原创 C语言:错误笔记

1、整型数据:简单除法和右移的关系。1.1.1、int N; 当N大于0,时,N/2就等于N&gt;&gt;1;N/4就等于N&gt;&gt;2;N/8就等于N&gt;&gt;3…,测量代码如下:当n=-25时。ret=-12 n/2=-12 n=-25。1.1.2、当N&lt;0,N/2就等于(N&gt;&gt;1 +1)、N/4就等于(N&gt;&gt;2 +1)…...

2019-02-28 11:00:31 78

转载 valgrnd调试详解

目录3.1。客户端请求机制3.2。使用Valgrind gdbserver和GDB调试程序3.2.1。快速入门:3步调试3.2.2。Valgrind gdbserver整体组织3.2.3。将GDB连接到Valgrind gdbserver3.2.4。连接到Android gdbserver3.2.5。监视Valgrind gdbserver的命令处理3.2.6。Valgrind gdbserv...

2019-02-23 13:01:10 662

转载 中断与DMA

1:DMA(DIRECT MEMORY ACCESS)即直接存储器存取,是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。&nbsp;要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。&nbsp;2:中断传送是由CPU通过中断服务程序来传送,每次要保护断点,保护现场需要多条指令,每条指...

2019-02-21 11:00:49 13664

转载 linux的内核调试:debugfs文件系统

Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立...

2019-02-20 17:14:35 989

原创 GIT安装及使用方法

1、Windows中安装git及使用方法:1.1、安装方法:git下载地址根据个人电脑属性选择64位和32位。根据个人喜好选择安装目录,然后是一路点击next(不清楚不同选项有啥区别)。右键菜单中会出现如下菜单:然后选择一个目录创建一个文件夹,进入文件夹。呼出右键菜单选择Git Bash Here,出现一个命令行:相当于linux中的命令行(linux中的命令大都可以执行,比如cd、...

2019-02-20 11:20:07 210

转载 linux线程间通信

线程间的通信有两种情况:1、一个进程中的线程与另外一个进程中的线程通信,由于两个线程只能访问自己所属进程的地址空间和资源,故等同于进程间的通信。2、同一个进程中的两个线程进行通信。本文说的就是第二种情况。关于进程间通信(IPC)可以看我的另一篇博文http://blog.csdn.net/a987073381/article/details/5200672...

2019-02-19 15:30:43 976

原创 linux中的gdb调试器

使用gdb调试下面的代码:#include &lt;stdio.h&gt; void fun(void);int main(int argc, char **argv) { int i, b = 0; for(i = 0; i &lt; 50; i++) { b += i; } printf("b=%d\n", b); return 0; } voi...

2019-02-19 12:11:44 154

原创 QT移植(tslib1.4、qt5.3.2、ubuntu14.04)

1、tslib1.4移植1.1.1、tslib1.4源码下载地址1.1.2、解压tslib1.4源码:tar -zxvf tslib-1.4.tar.gz1.1.3、执行命令:./autogen.sh 若提示./autogen.sh: 4: ./autogen.sh: autoreconf: not found错误,则autoconf工具没有安装:sudo apt-get instal...

2019-02-18 20:27:43 776

原创 C语言中,指针与数组、函数的结合使用

1、指针与数组:指针数组和数组指针1.1、指针数组:本质上是一个数组,只是该数组中的元素都是指针。char *arr[4] = {“hello”, “world”, “shannxi”, “xian”}; arr就是一个指针数组,元素是4个指向4个不同字符串的 指针。1.2、数组指针:本质上是一个指针,只是这个指针指向一个数组。char (pa)[4]; pa只是一个指针,...

2019-02-18 14:21:09 1097

原创 大小端模式详解

大端模式:是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式类似于把数据当作字符串顺序处理。地址由小向大增加,而数据从高位往低位放;小端模式:是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。判断大小端的方法1:指针int m...

2019-02-18 10:56:32 891

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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