自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c/c++连续赋值

#include <stdio.h>#include <math.h>#include <stdlib.h>int main(void){ int a=10, b=20, c=30, d = 4; printf("%d\t%d\t%d\t%d\n", a, b, c, d); printf("a -= b += c *= d\n"); a -= b += c *= d; printf("%d\t%d\t%d\t%d\n.

2021-04-09 00:32:12 1230

原创 gdb调试

1.添加调试信息:gcc -g ....gcc -g main.c2.wh: 打开代码窗口建议调试时都打开,可以清楚知道代码运行到哪里(如果程序乱码则不打开,直接用list查看)2.list(l):查看程序3.直接enter回车:重复上一条指令4.break(b)+ 行号n:在源程序第n行处打断点 break(b)+ 函数名:在函数入口处打断点 break(b)+filename:linenum:在文件filename的linenum行处打断点 brea...

2021-02-19 16:28:44 180

原创 Makefile

引入其他Makefile文件include <filename>include *.mk foo.make ${bar}make没有读取到include文件,会出现一条致信息,如果你想让make不理会那些无法读取的文件,而继续执行,可以在include前面加一个减号"-"号-include <filename>make的规则target:prerequisites command目标:依赖 命令命令需要以[TAB]键开始在规则.

2021-02-13 14:20:11 181

原创 正则表达式

正则表达式分类基本正则表达式(BREs) 扩展正则表达式(EREs) Perl正则表达式(PREs)字符类使用的符号. #匹配一个字符(\n除外)[] #匹配括号[]内的字符- #在括号[]内表示范围^ #在括号[]的开头表示取非 !示例:printf "asdfghjkl123456789\n" >> regexgrep -n -o 'a.d' regexgrep .

2021-02-13 12:56:48 164

原创 Shell编程

选择命令解析器#! /usr/bin/bash#! /usr/bin/shshell文件包含source filename 或者shell . filename关于空格=号不能加空格,运算符要加空格变量本地变量只对当前shell有效VAR_NAM =100环境变量自定义的环境变量对当前shell和其子shell进程有效export VAR_NAME=100对所有shell进程有效的要写入配置文件中/etc/profile局部.

2021-02-13 12:51:11 120

原创 Linux工具命令

常用命令基本操作mv, rm, cp, mkdir, cd, pwd, find文本处理grep, sed, awk, diff, vim, less, more, cat, sort, uniq, expr文本压缩tar, bzip2, gzip, unzip, unrar日常运维shutdown, mount, chown, chmod, su, password, service系统状态ps, top, free, df, inconfig, una

2021-02-13 12:34:05 161 1

原创 C专家编程

容易混淆的const关键字const并不能把变量变成常量,在一个符号前加上const限定符只是表示这个符号不能赋值,也就是它的值对于这个符号来说是只读的,但它并不能防止通过程序内部(甚至是外部)的方法修改这个值const最有用之处就是用它来限定函数的形参,这样该函数内部将不会修改实参指针所指的数据const char arr[] = "abcd";arr[2] = '1'; //错误,const限定只读char *parr = arr;parr[2] = '1'; .

2021-02-13 12:17:42 220 1

原创 C和指针

在C语言中,只有4中基本数据类型整型、浮点型、指针和聚合类型(数组和结构等)C语言的函数参数都是传值调用的,所谓的传址调用也是把地址的一份拷贝传递给函数。逗号操作符逗号操作符将两个或多个表达式分开,自左向右逐个求值,整个逗号表达式的值就是最后那个表达式的值a = get_value();count_value(a);while(a > 0){ ... a = get_value(); count_value(a);}使用逗号表达式后w..

2021-02-13 12:02:47 600 1

转载 C标准库-2

目录第十二章:<stdio.h>第十三章:<stdlib.h>第十四章:<string.h>第十五章:<time.h>第十二章:<stdio.h>缓存区:标准I/O提供缓存的目的是尽可能减少使用read和write调用的数量(系统调用比普通函数调用开销大)。它也对每个I/O流自动地进行缓存管理,避免了应用程序需要考虑这一点所带来的麻烦。标准I/O提供了三种类型的缓存: (1) 全缓存。在这种情况下,当填满

2021-02-06 00:53:09 325

原创 C标准库-1

ctype.h 字符处理函数: 本类别函数用于对单个字符进行处理;字符的类别测试(isalnum() ;; isdigit() ;; isupper() ;; islower() ;; isspace() ;; isascii() ;;)字符的大小写转换(toupper() ;; tolower() ;; toascii) int isalnum (int c) 测试字符是否为英文或数字,在标准c中相当于使用“isalpha(c) || isdigit(c);” int isa...

2021-02-04 04:34:09 368 1

原创 C程序设计语言-2

目录第五章:指针和数组第六章:结构第七章:输入与输出第八章:UNIX文件系统第五章:指针和数组指针和地址int num = 10;int *ptr = &num;取地址运算符 &只能应用于内存中的对象(即变量与数组元素),它不能对表达式、常量或寄存器变量进行操作。一元运算符 * 是间接寻址或间接引用运算符,当它应用于指针时,它将访问指针所指向的对象(解引用)。应该注意的是一个指针只能指向一个特定类型的对象:每一个指针对象也有一确定的数据类型(例.

2021-02-03 23:48:30 227

原创 C程序设计语言-1

目录第一章:基本概念第二章:类型、运算符和表达式第三章:控制流第一章:基本概念变量和运算表达式int var = 10;for语句for(i=0; i<10; ++i){}符号常量#defien NUM 10字符输入输出scanf("%s", &in_val);printf("out_val=%s", in_val);数组arr[10] = {1,2,3,4};函数void fun.

2021-02-03 02:59:10 113

原创 windows终端命令

Linux终端命令https://blog.csdn.net/RYSX002/article/details/102651879winodws终端命令:windows的cmd命令提示符模式下 alt+space--->e--->l:滚动屏幕翻页 alt+space--->e--->p:粘贴零、获取帮助/?一、文件/目录操作...

2020-04-11 00:56:06 824

原创 Linux终端命令

winodws终端命令:windows的cmd命令提示符模式下 alt+space--->e--->l:滚动屏幕翻页 alt+space--->e--->p:粘贴Linux终端命令:!gcc:执行上一条gcc命令!vim:执行上一条vim命令终端复制ctrl+shift+c终端粘贴ctrl+shift+vlocate 文件名...

2020-04-11 00:14:30 152

原创 Linux驱动-platform设备

一、beep_device.c#include <linux/module.h>#include <linux/platform_device.h>#include <linux/device.h>#include <linux/ioport.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR...

2020-04-03 20:30:55 162

原创 linux线程通信

一、线程(1). 线程创建 int pthread_create (pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 第一个参数: thread:新线程的id,如果成功则新线程的id回填充到tidp指向的内存 第二个参数: attr:线程属性(调度策略,...

2020-04-01 23:08:41 278

原创 linux进程通信

一、无名管道: pipe ---父子进程通信#include <unistd.h>#include <fcntl.h>#include <sys/wait.h>(1). fd[2] = {0}; ---无名管道文件描述符,读 管道文件描述符:fd[0], 写 管道文件描述符:fd[1](2). pipe(fd); ...

2020-04-01 23:07:18 168

原创 linux驱动开发--字符设备

一、字符设备1、函数(1)#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("cherrying");MODULE_DESCRIPTION("A simple led module");MODULE_ALIAS("A simple module");module_init(led_i...

2020-04-01 23:06:04 128

原创 linux内核移植,最小根文件系统制作

开发板为 FriendlyARM Tin210linux 内核使用 linux-2.6.38.5路径 ~/kernel/linux-2.6.38.5先解压 linux-2.6.38.5.tar.bz2cd ~/kerneltar xvf linux-2.6.38.5.tar.bz2获取最新yaffs源码mkdir ~/yaffscd ~/yaffsgit clone gi...

2020-04-01 23:05:22 493

原创 uboot移植

1. 查看README2. 分析根目录Makefile,mkconfig,boards.cfg https://blog.csdn.net/u010346967/article/details/46425697 3. boards.cfg文件添加 s5pv210 arm armv7 s5pv210...

2020-04-01 23:04:04 258

原创 常用的通讯协议I2C,SPI,UART.....

目录一、相关术语:二、I2C :三、SPI :四、UART(TTL):五、串口COM六、单总线1-wire:一、相关术语:1.1.串行:在计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次过程的通信方式1.2.并行:多比特数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据...

2019-12-27 18:16:01 1300

原创 c++常用头文件

IO流头文件 <iostream> 定义一个iostream类型,类型支持从控制台窗口读取数据、向控制台窗口写入数据的IO操作. 命名空间std中定义了std::cin、 std::cout、 std::cerr三个流对象。 1、IO对象(控制台io、文件io、内存io)无拷贝和赋值: istream ins1, ins2; ins1 = ins2;...

2019-11-25 10:55:01 2639

原创 x86_64汇编

一、基础知识1、x86-64通用寄存器16个: rax,rbx,rcx,rdx,rsi,rdi,rsp,rbp,r8,r9,r10,r11,r12,r13,r14,r152、x86-64处理64位,32位,16位和8位 rax---eax---ax---ah,al r8---r8d---r8w---r8h,r8l 3、AT&T风格和Intel风格的区...

2019-10-28 01:38:39 1104 1

转载 ssh配置问题

作者:Lenged链接:https://www.jianshu.com/p/43c58fbce4fb来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。虚拟机配置ssh的时候,遇到ubuntu安装openssh-server 报依赖错误的问题,报错信息如下:sudo apt-get install openssh-serverReading packag...

2019-10-27 02:19:23 181

原创 git 基本命令

工作区:电脑上看到的目录版本库(Repository):工作区上的隐藏目录.git暂存区(stage):版本库上的东西master:git为我们自动创建的第一个分支,在版本库上HEAD:指向master的指针,在版本库上ssh-keygen -t rsa -C "[email protected]":创建ssh_keygit remote add origin ...

2019-10-01 10:21:35 183

原创 static在C和C++的作用

一、 局部静态变量(C/C++) 局部变量按照存储形式可以分为三种,分别是auto、static、register。与auto类型(普通)局部变量相比,static有三点不同:1. 存储空间分配不同auto类型分配在栈上,属于动态存储类别,占动态存储空间,函数调用结束后自动释放;static类型分配在静态存储区,在程序整个运行期间都不释放;两者作用域相同,但是生存期不同。...

2019-09-08 10:25:33 115

转载 编程修养

编程修养:1.文件头注释: 文件名: 文件描述: 作者,时间: 版本号: 修改记录:2.函数注释: 函数名: 参数: name[in]: name[out]: 功能描述: 返回值: 抛出异常: 作者,时间:3.缩进最好用4个空格而不是Tab键4.注释:文件的注释...

2019-09-03 09:20:46 100

原创 vim常用命令

1.插入文本: a.):i在光标前插入 b.):I在光标行首插入 c.):a在光标后插入 d.):A在光标行尾插入 e.):o在光标所在行下方插入 f.):O在光标所在行上方插入 g.):s删除光标字符并插入 h.):S删除光标所在行并插入2.motion----表示操作范围的指令 a.>: 0将光标定位到行首...

2019-09-03 09:15:31 101

原创 gdb调试命令

1.添加调试信息:gcc -g ....2.list(l):查看程序3.直接enter回车:重复上一条指令4.break(b)+ 行号n:在源程序第n行处打断点 break(b)+ 函数名:在函数入口处打断点 break(b)+filename:linenum:在文件filename的linenum行处打断点 break(b)+......+if<condition&...

2019-09-03 09:14:35 168

原创 Eclipse使用技巧

1.自动生成get和set方法:Source---->Genarate Getters and Setters2.重构Refactor:a.重命名:Rename (Alt+Shift+R)b.提取常量:Extract Constantc.提取局部变量:Extract Local Variable3.代码自动补全:Alt+/4.代码格...

2019-09-03 09:13:09 233

原创 ARM汇编程序start.S---链接脚本script.lds

ARM汇编程序:.data#define GPA0_BASE 0xe0200000#define UART0_BASE 0xe2900000#define ULCON 0x0#define UCON 0x4#define UFCON 0x8#defin...

2019-08-09 11:33:45 327

原创 Arm指令集&伪指令

目录Arm指令集跳转指令:数据处理:程序状态寄存器传输指令:Load/Srote指令:协处理器指令:异常中断产生指令:GNU Arm伪指令数据定义:汇编控制:其他指令:Arm指令集跳转指令:b:不带链接跳转 bl:带链接跳转 blx (register)数据处理: 传送: mov, mvn eq: mo...

2019-03-09 16:28:50 434

原创 Arm汇编寻址方式&工作模式

目录Arm汇编寻址方式Arm处理器工作模式异常返回Arm汇编寻址方式8种寻址方式:寄存器寻址 mov r0, r1 立即数寻址 mov r0, #0xff 寄存器移位寻址 mov r0, r1, lsl #3 寄存器间接寻址 ldr r1, [r2] 基址变址寻址 ...

2019-03-09 15:49:04 476

原创 ARM程序状态寄存器&协处理器&MMU

目录程序状态寄存器Current Program Status Register (CPSR)协处理器(system control coprocessor)MMU software-accessible registers程序状态寄存器Current Program Status Register (CPSR)条件位:N:Negative result form ...

2019-03-09 13:04:19 541

空空如也

空空如也

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

TA关注的人

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