自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 U盘里的文件夹以应用程序的方式出现-文件夹伪装病毒

首先,文件没有丢失,只是被隐藏了。在打印店等复杂场所,常会遇见U盘中的文件夹编程了.exe的可执行文件,无法打开文件,关键时候,总干坏事儿。这种病毒即常见的文件夹伪装病毒。找回方法: 鼠标右键点选U盘盘符,选择打开U盘后,在菜单栏找到工具菜单----选择文件夹选项----选择查看文件夹----然后选择显示被隐藏文件---取消隐藏系统文件----取消隐藏已知文件的扩展名。这样就可看到被病毒隐藏的文件夹。将带有.exe的文件夹仿冒者删除(实际上就是个病毒程序) 即可。...

2020-06-08 19:06:05 1218

原创 联想F360移动硬盘拆解

USB2.0的320GB移动硬盘,由于个人不注意将这块移动硬盘的接口搞坏掉了,所以就想着拆除看看里面是什么构造,顺便看看有什么办法修复。网上搜了个底朝天没找到相关拆解技巧,花了好一番功夫,终于拆解完成,特做此记录。拆解时,可以指甲或专业的拆解片从边上开始向里稍微划下,然后扩大缝隙,可以多试几个位置,有些地方好开一点。如我这个在这个位置好开一点拆开后的图片:好了,大工告成,比想象...

2020-03-17 14:10:25 7459

原创 ubuntu修改ip地址

在ubuntu中修改ip地址路径:/etc/network/interfaces查看网卡信息:ifconfig1、动态分配。root权限打开interfaces,进行相应修改,如对ens38网卡改为ip地址动态分配2、静态分配。对ens38网卡ip地址改为静态分配修改后重启网卡:重启后查看修改结果:...

2020-03-13 19:06:38 4924

原创 Windows下配置VS code C语言环境

1、下载安装VS code2、下载MinGW-w64。https://sourceforge.net/projects/mingw-w64/files/电脑系统64位,选择x86_64,32位选择i686。其中seh性能好,但是不支持32位。32位中dwarf性能优于sjlj...

2020-03-11 23:00:06 1234

原创 海康威视嵌入式BSP笔试

1、若进栈序列为1,2,3,4,进栈的过程中可以出栈,则下列不可能的一个出栈序列是()A、3,4,2,1 B 3,1,4,2 C 1,4,3,2 D 2,3,4,1答案:B析:栈空间是先进后出,后进先出。B选项,3若要先出,则栈中肯定有,3,2,1三个,因此下一个出栈的只能是2或者4。2、采用链表的方式完成队列的插队和出队,参阅下述结构体:typedef st...

2020-03-06 20:39:43 3456

原创 Linux中进程查看命令:ps

使用ps命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。参数:-A :所有的进程均显示出来,与 -e 具有同样的效用; -a : 显示现行终端机下的所有进程,包括其他用户的进程; -u :以用户为主的进程状态 ; x :通常与 a 这个参数一起使...

2020-02-28 22:12:49 241

原创 typedef使用

在C中定义一个结构体类型要用typedef:typedef struct Student{  int a;}Stu;于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)这里的Stu实际上就是struct Student的别名。Stu==struct Student另外这里也可以不写Student(于是也不...

2020-02-28 20:01:45 116

原创 vim使用技巧

复制终端内容至vim方法:1、终端复制内容到系统粘贴板使用键盘在鼠标选中内容后,按下如下键:ctrl + insert按下以上两个按键。注意:insert键就是键盘上的插入键2、从系统粘贴板粘到vim 。打开一个新的文档,然后按下如下两个按键。shift + insert...

2020-02-28 19:50:03 114

原创 C语言关键细节

操作系统:操作系统的意义:简单的功能,简单的硬件设备才会裸机开发。复杂性的产品裸机开发难度大,资源无法的到合理高效运用,会选择基于操作系统来开发。作用:用来有效地管理资源,让资源得到合理有效的应用,提高产品性能。管理的资源:CPU管理、内存管理、任务(进程)管理、文件管理和I/O设备管理程序调试:手段:单步调试、硬件调试、打印信息、日志文件调试版本(DEBUG)和发行版本(...

2020-02-28 18:19:50 143

转载 孤儿进程与僵尸进程

1、前言  之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念  我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程再创建新的...

2020-02-27 21:51:30 184

原创 C语言简单编程

输入一个字符串,倒序输出:#include <stdio.h>int main(){ char *ch; char a; int i = 0; char b[100]; char *p = b; puts("输入字符倒叙输出,输入'#'结束:"); while(scanf("%c",p)&&(*p != '#')) { p++; i+...

2019-11-06 15:21:39 199

原创 链表

单链表:#include <stdio.h>#include <malloc.h>#include <stdlib.h>#define DEBUG 1//头指针+头结点为整个链表的起始 struct node{ int value; char *c; struct node *pnext;};struct node * create_...

2019-10-29 11:19:32 964

原创 awk工具的一个用例

line = 'awk'($0 !~ /^#/ && $7 ~ /^'"$2"'$/){print $1 ,$2,$3,$3,$4,$5,$6,$7,$8}' $srctree/boards.cfg;'这段shell脚本实现的功能是,在$srctree/boards.cfg文件中逐行查找和表达式($0 !~ /^#/ && $7 ~ /^'"$2"'$/)中...

2019-10-19 09:41:26 306

原创 Linux内存映射机制

MMU(内存管理单元),它的作用1.它负责虚拟地址到物理地址的转换2.提供硬件机制的内存访问权限检查没有启动或者没有MMU时,外设(包括物理内存)等所有部件使用的都是物理地址,cpu通过物理地址来访问外设(包括物理内存)。启动MMU后,CPU核心对外发出虚拟地址给MMU,MMU把虚拟地址转换为物理地址,最后使用物理地址读取实际设备虚拟地址转换为物理地址的方法:1.确定的数学公式...

2019-04-24 21:13:27 2307 1

原创 Linux内核同步

解决的问题: 进程A和进程B同时对 XXX(共享资源)进行操作,会产生竞争行为解决方法: 保证对共享资源的互斥访问(一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问) 访问共享资源的代码区块叫做“临界区”,临界区需要以某种互斥机制加以保护:自旋锁、信号量(进程)等linux内核中可能引起互斥访问的情形:1.进程和进程之间...

2019-04-24 19:47:41 170

原创 64位ubuntu14.04LTS安装arm-gcc-linux交叉编译环境的问题解决

问题:安装过后,输入arm-linux-gcc -v显示command not found解决:sudo apt-get install libc6:i386           sudo apt-get install  lib32z1 

2018-11-28 17:17:21 327

原创 Samba服务器的搭建

第一步:安装samba服务。sudo apt-get install samba第二步:修改配置文件(ubuntu下的samba配置文件“/etc/samba/smb.conf”)[my_share] comment = share path = /home/binge/share writable = yes browseable = yes第三步:添加samba用户并设置新...

2018-11-27 22:18:53 184

原创 ARM汇编(第四天)混合编程

混合编程(汇编与高级语言如C、C++的混合编程)---C语言嵌入汇编---C语言调用汇编---汇编调用C语言  ------实例:功能:数据复制void my_strcpy(char *src,char *des){ char ch; __asm{ loop: LDRB ch,[src],#1 STRB ch,[des],#1 CM...

2018-11-18 10:21:21 383

原创 ARM汇编(第三天)伪指令

伪指令:类似于带参数的宏一样的操作,方便我们更好的实现汇编程序逻辑。               伪指令只在汇编器之前作用,汇编之后会翻译为标准的汇编指令集。伪指令分类:ARM汇编伪指令、GNU汇编伪指令伪指令类别:1、一个总结的不错的Blog(此处省略好多字,点击跳转)符号定义(Symbol Definition)伪指令数据定义(Data Definition)伪指令汇编控制(As...

2018-11-17 20:54:16 309

原创 ARM汇编(第二天)

汇编指令跳转的方式:方式一:MOV  LR ,PCMOV  PC,Dest方式二: MRS:move to register from status registerMRS R0,CPSR ARM中的程序状态寄存器(CPSR)程序状态寄存器CPSR  AREA test,CODE,READONLY ENTRY CODE32START MOV...

2018-11-17 15:19:05 160

原创 ARM汇编(第一天)

ARM指令格式:operation{cond}{s} Rd ,Rn, operand2操作指令{条件}{状态} 目标寄存器,源寄存器,后续附件的操作{}:可选项如:ADD R2,R1,#100; 功能:R2 = R1 + 100ARM的9种寻址方式一个简单的汇编程序: AREA testhello,CODE,READONLY ENTRY CODE32ST...

2018-11-16 20:48:36 248

原创 Cortex-A8处理器之寄存器(处理器内部寄存器)

ARM指令下,八种模式下寄存器的分布:a.其中R0~R12是32bit通用寄存器,放通用数据b.各个模式的R0~R12J寄存器与USR模式是共享的(除了FIQ,R8~R12),PC、CPSR是共享的c.USR模式没有SPSR。CPSR:(Current program status register)当前程序状态寄存器SPSR:(saved programstatus regist...

2018-11-15 20:37:36 3061

原创 组播编程

1、组播IP地址范围:224.0.0.0 ~ 239.255.255.255 组播以太网地址(MAC地址):开头高三个字节是01:00:5e2、组播分为两部分: 组播数据流:目的 组播控制流:(IGMP)分三种报文:report(join),leave,query3、组播编程 client:1、IP_MULTICAST_LOO...

2018-11-11 18:02:53 2163

原创 广播编程

1、IPv4地址的表示(子网id , 主机id) -1 表示所有为都为1的字段2、子网广播地址(子网id , -1)如子网IPv4地址:10.21.12.13  则子网广播地址:10.21.12.2553、受限广播地址( - 1 , - 1) 255.255.255.255socket套接字属性设置选项:参考socket选项https://blog.csdn.net/c1520006273...

2018-11-08 18:39:37 520

原创 并发服务器 — —TCP服务器(epoll)

1、创建epoll对象:int epoll_create(int size);2、往epoll对象中增加/删除某一个流的某一事件:epoll_ctl int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);3、等待直到注册的事件发生:epoll_wait int epoll_wait(int ...

2018-11-04 22:32:06 505 1

原创 并发服务器 — — I/O复用(select)

简单通过select函数实现I/O复用完成并发服务器的编写:功能:将select函数运用在服务器中,实现I/O复用#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;errno.h&gt;#include&lt;unistd.h&gt;#include&lt;sys/times.h&gt;#include&lt...

2018-11-01 21:25:06 1076

原创 TCP服务器

创建步骤:1、使用socket()函数创建socket;int socket(int domain, int type, int protocol);RETURN VALUE On success, a file descriptor for the new socket is returned. On error, -1 is ...

2018-10-27 16:08:42 217

原创 linux进程高级属性之安全的fork

安全性问题:        当线程调用fork函数时,就为子进程创建了整个进程地址空间的副本,子进程通过继承整个地址空间的副本,也会将父进程的互斥量、读写锁、条件变量的状态继承过来。也就是说,如果父进程中互斥量是锁着的,那么在子进程中互斥量也是锁着的(尽管子进程自己还没有来得及lock),这是非常不安全的,因为不是子进程自己锁住的,它无法解锁。解决办法: int pthread_at...

2018-10-21 22:25:36 411

原创 linux线程高级属性之私有数据

应用程序设计中有必要提供一种变量,使得多个函数多个线程都可以访问这个变量,但是线程对这个变量的访问都不会彼此产生影响。这种数据就是线程的私有数据,尽管名字相同,但是每个线程访问的都是数据的副本。如何创建私有数据1、在使用私有数据之前,你首先要创建一个与私有数据相关的键,用来获取对私有数据的访问权限 。int pthread_key_create(pthread_key_t *key,...

2018-10-21 21:10:13 342

原创 linux进程高级属性之同步属性

一、互斥量的属性(进程共享属性和类型属性)//互斥量初始化 int pthread_mutexattr_init(pthread_mutexattr_t *attr);//互斥量销毁 int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); >进程共享属性: 进程共享属性有两种值: ...

2018-10-21 20:02:22 1639 1

原创 linux之线程的高级属性

一次性初始化:用途:  有些事需要且只能执行一次(比如互斥量初始化)。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库函数时,就不能在main里面初始化了,你可以用静态初始化,但使用一次初始(pthread_once_t)会比较容易些。用法: //首先要定义一个pthread_once_t变量,这个变量要用宏PTHREAD_ONCE_INIT初始化。//然后...

2018-10-18 20:17:00 356

原创 C语言调试与发行版本--预处理的应用

1、条件预处理在发行版本中有些调试用到的东西不愿意被使用者看到,但又不能因此编写两套程序代码。此时就可以使用条件预处理来实现,具体如下代码所示:/************************************************************************* &gt; File Name: newpro.c &gt; Author: 17104003...

2018-10-17 15:59:27 175

原创 运算符---补码、内存访问

逻辑运算    !逻辑取反(真假)位运算         ~按位取反(0、1)计算机存储负数实际存的是负数的补码(即除符号位之外的每一位取反加一)负数(8bit:):-1原码: 1000 0001取反: 1111 1110加一: 1111 1111(补码)内存访问符号():限制符    (a+b)*c [  ]数组:内存访问的符号-&gt;  ,   ....

2018-10-17 15:58:39 180

原创 C语言函数的使用

标签:函数名一、函数具备三要素:1、函数名 (地址)2、输入参数3、返回值二、如何用指针保存函数:指针保存数组:char(*)[10];指针保存函数:int (*p)(int,int,char);#include&lt;stdio.h&gt;int main(){ int (*myshow)(const char *,...); printf("print...

2018-10-17 15:48:38 523

原创 C语言内存分布图----栈空间、堆空间

----------------------------------------------------------- 4G(0xffff ffff)内核空间 应用程序不许访问------------------------------------------------------------ 3G栈空间 ...

2018-10-17 15:48:08 7245

原创 C语言结构体 ---字节对齐

1、字节对齐 目的:牺牲一点空间,换时间的效率(CPU执行效率) 最终结构体大小一定是4的倍数(32bit系统) 结构体里成员变量顺序不一致,也会影响结构体的大小数据类型 32位机大小(字节) 64位机大小(字节) char 1 1 short 2 2 int 4 4 lon...

2018-10-17 15:47:55 478

原创 C语言编程之指针

在32bit系统中,指针就4个字节指针指向内存空间,一定要保证合法性(段错误)修饰符:const、voliatile、typedefconst:const char *p 只读(指向地址可变,指向地址的内容只读)char * const p 指向固定地址,但指向地址的内容可变(硬件资源关系大)const ...

2018-10-17 15:47:44 645

原创 C语言函数之输入参数

输入参数:承上启下的作用调用者:函数名(要传递的数据)            //实参被调者:函数的具体实现函数的返回值 函数名(接收的数据)      //形参{。。。。}实参 传递给 形参传递形式:逐一拷贝值传递典型错误:#include&lt;stdio.h&gt;void swap(int a,int b){ int c; c = a; ...

2018-10-17 15:47:05 4641

原创 C语言之类型修饰符

auto默认修饰符register:register int a; //限制变量定义在寄存器上的修饰符用于定义一些快速访问的变量 编译器会尽量的安排CPU的寄存器去存放这个a,如果寄存器不足时,a还是放在存储器中 取地址符&对register不起作用内存(存储器); 寄存器寄存器在cpu中,数据存储其中访问速度很快数据放在存储器(内存)中,访问速度相...

2018-10-17 15:46:13 1877

转载 ubuntu中的解压指令

tar 解压缩命令详解-c: 建立压缩文件-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准...

2018-10-17 15:45:03 833

ARM cortex-A8参考手册

ARM官方Cortex-A8处理器开发参考手册,最新英文原版。

2018-11-21

sourse insight软件.rar

source insight 4.0作为大工程代码管理的一大利器得到了大量工程开发人员的喜爱和追捧,是一个不可多得的良心软件。

2020-07-26

空空如也

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

TA关注的人

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