- 博客(64)
- 收藏
- 关注
原创 Linux基本命令
一、文件和目录管理1、每天一个linux命令(1):pwd命令2、每天一个linux命令(2):cd命令3、每天一个linux命令(3):ls命令4、每天一个linux命令(4):mkdir5、每天一个linux命令(5):rmdir6、每天一个linux命令(6):cp7、每天一个linux命令(7):mv8、每天一个linux命令(8):rm9、每天一个linux命令(9):...
2019-04-01 21:29:11 919
原创 内存分区模型
内存分区模型代码区:存放函数体的二进制代码,CPU执行的机器指令。共享,只读全局区:存放全局变量、静态变量(static),程序结束后由操作系统释放常量区:存放字符串常量、const修饰的全局常量栈区:编译器自动分配,用来存放函数参数值、局部变量、const修饰的局部常量等堆区:由程序员申请和释放,若程序员没有释放,则程序结束由操作系统自动回收。C语言中用malloc()和free()实现;C++中用new和delete实现分区意义:不同区域存放的数据,赋予不同的生命周期,灵..
2021-01-07 12:32:24 408 2
原创 typedef语法小结
目录内存模型C语言typedef语法小结字符串值传递、地址传递、引用传递malloc/new函数内存模型C语言typedef语法小结typedef作用:为一种数据类型起别名①简化一些复杂的类型声明typedef void (*fun)(int a);//为函数指针void (*)(int a)起别名funtypedef struct student{}*stu;//为结构体指针struct student{}*起别名stufun p;//定义函数指.
2021-01-07 11:37:46 897
原创 剑指offer——链表
1.从尾到头打印链表题目描述:思路分析:首先创建带头结点的单链表,采用尾插法顺序建表 逆序输出,容易想到的方法有递归或者借助栈结构来实现 此处采用递归代码实现:#include<stdio.h>#include<stdlib.h>typedef struct Node{ int data; struct Node *next;}node;node* CreatLinkList(int n){ int i,x; node *head =
2020-05-25 21:38:39 360
原创 剑指offer-----字符串总结
1.替换空格思路分析:首先遍历字符串,遇到‘ ’后进行相应的字符替换‘%’‘2’‘0’要明确的是在ASCII码表中只有字符0~9,因此20要以‘2’和‘0’来表示具体实现就是遇到空格后,使用strcpy()函数赋值空格后的字符串;将空格替换为%,2,0,末尾添加'\0';再使用strcat()将之前的字符串接上;以此循环,直至遍历完整个字符串代码实现:#incl...
2020-04-26 16:58:51 330
原创 剑指offer——数组总结
**构建乘积数组**思路分析:B数组中元素B[i]等于A数组中所以元素之积除以A[i],但题目要求不能使用除法。所以最直观的思路就是以A[i]为界限,左边元素相乘,右边元素相乘,最后得到B数组。代码实现:#include <stdio.h>#define N 5 //定义数组长度int main(void){ int i,j; int A[N],B[N];...
2020-04-19 16:18:27 249
转载 gcc 编译器常用的命令行参数一览
这些常用的 gcc/g++ 命令行参数,你都知道么?gcc -E source_file.c-E只执行到预编译。直接输出预编译结果。gcc -S source_file.c -S只执行到源代码到汇编代码的转换,输出汇编代码。gcc -c source_file.c-c只执行到编译,输出目标文件。gcc (-E/S/c/) source_file.c -o output_filena...
2019-11-25 11:06:16 337
转载 链接脚本中.text,.data,.rodata,.bss的区别
链接脚本中.text,.data,.rodata,.bss的区别https://blog.csdn.net/oqqHuTu12345678/article/details/70136024https://blog.csdn.net/liangguangchuan/article/details/79399102https://blog.csdn.net/sunny04/article/det...
2019-11-24 20:51:00 1137
原创 gcc编译器的编译流程
gcc编译器的编译流程gcc的编译流程包括四个过程:预处理——编译——汇编——链接1.预处理:(参数:-E)将include包含的文件插入源文件宏替换根据条件编译选择要使用的代码经过预处理后输出“.i”文件2.编译:(参数:-S)把c/c++文件“翻译”为汇编文件经编译后生成“.s”文件3.汇编:(参数:-c)将汇编代码翻译为一定格式的机器代码生成“.o”文件...
2019-10-14 11:28:57 2317
原创 Bash/Shell/Shell脚本的关系
Bash/Shell/Shell脚本的关系1.Shell是什么Shell俗称壳,是指“为使用者提供操作界面”的软件(命令解析器)。Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序。(用户<—>Shell<—>内核)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的脚本语言,在S...
2019-09-05 12:19:46 4708
转载 VM中桥接、NAT、仅主机模式区别
mark一下:https://www.cnblogs.com/haoabcd2010/p/8683656.html
2019-08-19 20:37:10 220
原创 Linux常见问题一
1.请问 Linux 下的文件系统和 Windows 下的文件系统有什么区别?答:在 Windows 下,目录结构属于分区;Linux 下,分区属于目录结构。Windows 文件系统是以驱动器的盘符为基础的,而且每一个目录与相应的分区对应。而 Linux 恰好相反,文件系统是一棵文件树,且它的所有文件和外部设备(如硬盘、光驱等)都是以文件的形式挂在这个文件树上,把分区和目录对应的过程叫做挂载(M...
2019-08-13 22:43:28 349
原创 STM32启动模式及程序下载原理总结
STM32启动模式及程序下载原理总结最近在学习STM32过程中,对其串口实现程序下载的原理不甚了解,查阅网上资料及官方手册后,明朗了不少,总结如下:要了解其程序下载原理,必须对STM32的启动模式有一定了解。官方参考手册里可以查到,在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式:以下是正点原给出的解释:-一般情况下如果我们想用用串口下载代码,则必须配置...
2019-08-03 17:30:57 1760
转载 STM32操控外设为什么要先使能时钟
STM32操控外设为什么要先使能时钟STM32的新手,一般都会对一个问题很纠结。我也是,就是所谓的”时钟问题“。我们在尽心STM32编程时,会痛苦地发现这样一个事实:不管你要干嘛,你首先要做的一件事就是使能时钟。而且可能每一次的时钟还是不同的。你就会问:为什么要使能时钟?为什么每次使能的时钟还不一样呢?为什么51单片机中没有这些鬼?在学51单片机的时候,基本上接触不到I/O方向和外设时钟的概念...
2019-07-30 16:17:15 7245 11
原创 结构体作用(STM32)
结构体作用(STM32)来源:正点原子MDK 中很多地方使用结构体以及结构体指针,下面总结一下其使用结构体的主要作用。1.结构体是将不同的数据类型整合为一个有机整体,方便数据管理,增加代码的可读性2.在我们单片机程序开发过程中,经常会遇到要初始化一个外设比如串口,它的初始化状态是由几个属性来决定的,比如串口号,波特率,极性,以及模式。对于这种情况,在我们没有学习结构体的时候,我们一般的方法...
2019-07-30 12:07:40 10479
原创 总线
总线来源:百度百科定义:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬...
2019-07-30 11:30:24 307
转载 STM32的I/O口的8种工作模式
STM32的I/O口的8种工作模式原贴:http://www.openedv.com/posts/list/21980.htm浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了.开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了....
2019-07-26 19:59:59 1384
转载 工业相机、镜头、选型计算方式
工业相机、镜头、选型计算方式1. 面阵相机和镜头选型已知:被检测物体大小为A×B,要求能够分辨率小于C,工作距离为D[1]相机选型步骤:(1). 相机的最低分辨率=(A×B)/(C×C) ,(2).相机在选型时,最好缺陷的面积在3到5个像素以上,在选择相机时,相机的最低分辨率应大于3×(A×B)/(C×C)。[2]镜头选型步骤:(1). 计算短边对应的像素数E=B/C,相机...
2019-06-06 18:06:51 12701
转载 工业相机基础知识
相机成像原理现代相机有很多分类,且分类标准不统一。在这里简单分类为可更换镜头相机和不可更换镜头相机两种。对于可更换镜头而言。例如单反,单镜头反光照相机,镜头只是整个系统的一个部件,他的作用是获得我们想要的成像效果,但是镜头并不是成像的必要部件,把镜头取下,依然可以获得成像,此时就是利用了小孔成像的原理。对于没有反光镜设计的微单而言也一样。但是对于不可更换镜头的相机而言,那就是透镜成像原理。(其...
2019-06-06 17:59:19 3057
转载 工业相机之镜头基础知识
为什么需要镜头?镜头等同于针孔成像中针孔的作用,所不同的是,一方面镜头的透光孔径比针孔大很多倍,能在同等时间内接纳更多的光线,使相机能在很短时间内(毫秒到秒级)获得适当的曝光;另一方面,镜头能够聚集光束,可以在相机胶片上产生比针孔成像效果更为清晰的影像;1.镜头的组成:机器视觉常用定焦镜头,并且都是手动调整光圈,一般不允许自动调整光圈,镜头上有调焦和调光圈两个环,为了防止误碰动,工业镜头的...
2019-06-06 16:27:01 8541 1
原创 工业相机之透镜成像
工业相机之透镜成像透镜分为凸透镜和凹透镜。凸透镜成像规律就是:物体放在焦点之外,在凸透镜另一侧成倒立的实像,实像有缩小、等大、放大三种。物距越小,像距越大,实像越大。物体放在焦点之内,在凸透镜同一侧成正立放大的虚像。物距越大,像距越大,虚像越大。凹透镜对光线起发散作用, 它的成像规律则要复杂得多。实像和虚像在光学中,由实际光线汇聚成的像,称为实像,能用光屏承接;反之,则称为虚像,只能由眼...
2019-06-06 14:59:57 2552
原创 工业相机之小孔成像
工业相机之小孔成像概念:小孔成像:用一个带有小孔的板遮挡在屏幕与物之间,屏幕上就会形成物的倒像,我们把这样的现象叫小孔成像。前后移动中间的板,像的大小也会随之发生变化。这种现象反映了光线直线传播的性质。演示方法:把一支削得很尖的铅笔,在一张硬纸片的中心部分扎一个小孔。孔的直径约三毫米左右。设法把它直立在桌子上。然后拉上窗帘,使室内的光线变暗。孔要小物要亮屏幕一侧要暗原理:烛...
2019-06-06 10:17:55 2960
转载 单片机串口通信技术
转载自https://www.cnblogs.com/menlsh/archive/2013/01/28/2880580.html
2019-06-04 17:03:27 312
转载 Linux之MySQL的常用基本操作
Linux之MySQL的常用基本操作1、显示数据库 - show databases;2、选择数据库 - use 数据库名;3、显示数据库中的表 - show tables;4、显示数据表的结构- describe 表名;5、显示表中记录 - SELECT * FROM 表名6、建库 - create databse 库名;7、建表 - create tab...
2019-04-26 21:42:21 206
原创 Linux之软件安装管理
Linux之软件安装管理1.软件包分类:源码包二进制包 (rpm 等)源码包的优点:开源,如果有足够的能力,是可以修改源代码的可以自由选择所需要安装的功能。软件是编译安装,所以更加适合自己的系统,更加稳定且效率更高。卸载方便。(删除安装目录就干干净净了,Windows下还有会残余)。源码包的缺点:安装过程步骤较多,尤其是安装较大的软件合集时,容易出现拼写错误编译时间...
2019-04-26 15:20:54 121
转载 消息中间件
原文:http://developer.51cto.com/art/201901/591279.htm消息中间件一.概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发Rocke...
2019-04-19 09:51:12 164
原创 C51单片机之keil编程入门(二)
C51单片机之keil编程入门(二)内容提要:中断原理定时器应用数码管的动态显示原理及实现1.中断原理概念:CPU处理事件A时,发生了另一事件B需要CPU去处理(中断发生)CPU暂时中断当前工作,去处理事件B(中断响应和中断服务)待CPU处理完B后,再回到原来A被中断的地方继续处理A(中断返回)这一过程称为中断。2.定时器应用3.数码管的动态显示原理及实现...
2019-04-13 11:53:27 2436
原创 C51单片机之keil编程入门(一)
51单片机组成CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果;ROM:用以存放程序,一些原始数据及表格;I/O口:四个8位并行I/O口,即可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式;点亮一个发光管//通过位操作点亮发光管incl...
2019-04-12 17:30:19 21924
原创 Linux之VIM文本编辑器
Linux之VIM文本编辑器VI概述Visual Interface 可视化接口,类似Windows记事本VIM是基于VI的升级版本,VIM对VI完全兼容VIM支持多级撤销VIM可以跨平台运行VIM支持语法高亮VIM支持图形界面VIM编辑器的操作模式Command Mode 命令模式Insert Mode 输入模式Last Line Mode 底行模式(尾行、末...
2019-04-09 16:01:52 222
原创 Linux网络命令
Linux网络命令网络环境查看命令ifconfig命令ifconfig#查看与配置网络状态命令(常用来查看,因只能临时修改,不常用来配置)关闭和启动网卡ifdown 网卡设备名#禁用该网卡设备ifup 网卡设备名#启用该网卡设备查看网络状态netstat 选项选项:-t:列出TCP协议端口-u:列出UDP协议端口-n:不使用域名与服务名,而使用IP地址和端口号...
2019-04-09 09:22:22 257
原创 网络基础之DNS、网关
网络基础之DNS、网关1.DNSDNS(Domain Name System)即域名系统的缩写,也称作名称解析。在互联网中通过IP地址来进行通信IP地址用数字表示,记忆困难人对域名更为敏感,比如:http://www.baidu.com/DNS的作用便是进行域名和IP地址的转换。1.1DNS服务的作用:将域名解析为IP地址客户机向DNS服务器发送域名查询请求(TCP/IP...
2019-04-08 19:57:11 3906
转载 网络基础之IP地址、子网掩码、端口
原文:https://blog.csdn.net/qq_34427969/article/details/52469150
2019-04-05 15:43:48 920
原创 网络基础之TCP/IP四层模型
网络基础之TCP/IP四层模型TCP/IP四层模型与OSI七层模型关系TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。TCP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层:网络接口层 网络接口层与OSI模型...
2019-04-05 13:58:03 922
原创 Bash的基本功能
Bash的基本功能1.命令别名与快捷键命令别名:alias#查看系统中所有命令别名alias 别名=‘原命令’#设定命令别名(按照alias查看的别名格式修改)#这种别名临时生效别名永久生效和删除别名vi ~/.bashrc 或者绝对路径 vi /root/.bashrc#写入环境变量配置文件unalias 原命令#删除别名(临时删除,永久删除需在文件中删除)快...
2019-04-04 15:40:50 1654
原创 Linux之Shell编程
Linux之Shell编程1.1.Shell概述Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。用户<—>Shell<...
2019-04-04 09:18:11 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人