- 博客(17)
- 资源 (24)
- 收藏
- 关注
原创 Linux下利用signal函数处理ctrl+c等信号raise生成信号
linux下可以通过信号机制来实现程序的软中断,是一个非常有用的编程方法。我们平时在程序运行的时候按下ctrl-c、ctrl-z或者kill一个进程的时候其实都等效于向这个进程发送了一个特定信号,当进程捕获到信号后,进程会被中断并立即跳转到信号处理函数。默认情况下一个程序对ctrl-c发出的信号(SIGINT)的处理方式是退出进程,所以当我们按下ctrl-c的时候就可以终止一个进程的运行。 但是有时候我们希望我们的程序在被信号终止之前执行一些特定的收尾流程,或者我们希望我们的程序在收...
2021-07-29 11:11:49 1965
原创 读写文件时的掉电保护问题
在程序中读写文件要考虑突然掉电情况下的保护.当我们打开一个文件进行读操作时,系统会先把文件内容取出放到RAM里,突然掉电是不会损坏文件的;当我们写文件时,系统会在RAM里开辟一块区域,写的内容先放进这块区域中,系统适时成批写入文件.(linux里的sync命令可强制把写的内容放入文件).如果突然断电,未写入文件的内容就丢失了.对于重要的配置文件而言,如果文件内容不完整,会使系统无法正常工作. 操作系统(文件系统)对文件有保护机制,比如文件打开了,掉电了,操作系统应该是自动关闭文件.从整个文件...
2021-07-28 16:33:48 1461
原创 自动生成固定格式代码
有时候需要把一些信息写到固定格式的代码,可以考虑把信息按行存到文件中,再使用string format,批量生成这些代码.下边是一个例子#include <fstream>#include <string>#include <vector>#include "zupply.hpp"using namespace std;int main(){ //按行读信息,并保存到vector fstream newfile, outfile; vector
2021-07-27 16:38:19 442
原创 C++中使用lambda函数
C++ includes useful generic functions likestd::for_eachandstd::transform, which can be very handy. Unfortunately they can also be quite cumbersome to use, particularly if thefunctoryou would like to apply is unique to the particular function.#inclu...
2021-07-15 18:22:44 220
原创 C和C++的区别
C和C++的主要区别在于C是过程式编程语言,不支持类和对象,而C++是过程式和面向对象编程语言的结合;因此C++可以被称为混合语言。使用VS或者g++作为编译器,.c和.cpp可以相互调用,gcc编译器不能编译.cpp中超过c语言特性的东西.下面是使用vs作为编译器,.c和.cpp相互调用的例子..cpp调用.cmain.cpp#include <iostream>using namespace std;extern "C" int add();int main(..
2021-07-15 11:10:15 41041 2
原创 使用frp进行内网穿透
为什么需要内网穿透功能有两台电脑A和B,B位于复杂的网络中,B可以访问A的IP和对应端口,但是A不能访问B的IP,如果A要向B发送一些消息,需要B向A发送UDP或TCP消息,A可以在这些消息返回时增加自己的信息,但是如果A想访问B的HTTP服务,就需要内网穿透了.从公网中访问自己的私有设备向来是一件难事儿。自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等),一般来说要通过一些转发或
2021-07-14 17:53:24 1233 2
原创 卷积神经网络的“卷积”和数据中的卷积的区别
介绍卷积神经网络CNN的时候,大部分教材在介绍“卷积操作”的时候都与下面这张图类似的说明事实上,卷积神经网络中的“卷积”操作其实是互相关运算(correlation operator),而不是卷积运算(convolution operator)。他们的区别在于,卷积运算相当于把kernel进行上下左右翻转之后,再进行互相关运算。原文链接:https://blog.csdn.net/songbaiyao/article/details/105958067...
2021-07-14 10:46:45 548
原创 errno constant in C++
errnois a preprocessor macro used for error indication.The value oferrnois set to zero at program startup, and any function of the standard C++ library are allowed to write positive integers to errno whether or not an error occurred. Once the value o...
2021-07-13 11:22:07 267
原创 简单理解TCP/IP五层
以前呢我们都是称作TCP/IP四层:应用层,传输层,网络层,数据链路层。而现在我们将物理层单独的列出来称为五层协议:应用层,传输层,网络层,数据链路层, 物理层。其实质都是一样的只是人们的叫法不同。我们这里采用五层。1.物理层:我们的每一台电脑都必须通过一定的介质相连才能交互吧,那我们使用的光迁,电缆就是将计算机连同的物理介质.那么这就是物理层。通过这些光纤,可以传输0, 1这样的高底电平达到数据的传输。2.数据链路层:在已经有了物理传输介质之后,我们需要关注的是,数据应该以那种形式传输..
2021-07-13 10:08:56 599 1
原创 什么是Android HAL
Android Camera硬件抽象层(HAL,Hardware Abstraction Layer)主要用于把底层camera drive与硬件和位于android.hardware中的framework APIs连接起来。Camera子系统主要包含了camera pipelinecomponents的各种实现,而camera HAL提供了这些组件的使用接口。注:camera HAL起着承上启下的作用。在camera HAL层实现中,芯片厂商一般将camera HAL层的实现分为两层:interf..
2021-07-12 11:44:44 605
原创 AM335X的优点
AM335X的优点有如下几个第一:该器件是最实惠的Cortex-A8 处理芯片,这个对中国市场至关重要,甚至是决定性的因素。第二: TI 史上公开资料最全的一个芯片。第三: 产品定位最清晰的一个工业控制MCU第四: 唯一一个集成2个MAC的ARM.第五:同时支持3个操作系统 Linux, Android, WinCE。...
2021-07-12 11:42:22 104
原创 什么是操作系统中的kernel?
系统启动后,Kernel就会常驻内存,负责系统的基础功能,如进程调度,硬件管理.普通程序就做用户态程序,在Kernel中的程序叫做内核态程序.普通程序如果想申请内存,需要进行系统调用来申请,系统调用中做具体工作的,就是Kernel总的程序. 用户程序想申请相机资源,需要调用Kernel提供的系统接口. 如果一个普通用户进程死掉了,系统不会崩,但是如果Kernel死掉了,系统也就死掉了. Kernel是系统启动的第一个程序,类似人类的心跳...
2021-07-12 11:39:51 4544
原创 CS镜头和C镜头有什么区别?
首先,镜头距CCD靶面距离不同,C式安装座从基准面到焦点距离为17.562毫米。CS式安装座基准面到焦点距离为12.5毫米。其次,C镜头比CS镜头多一个5毫米的接圈,可将C镜头转换为CS镜头。安装镜头时,先看看镜头与摄像头是否为同一接口,若不是,则要根据具体情况增减接圈。比如,大多数摄像头接口为CS型,若将C镜头安到CS摄像机时,需增配5毫米厚接圈。而同一接口则不需要。若误将CS型镜头加装接圈后安装到CS接口摄像机上,会因镜头的成像面不能落到摄像机的CCD靶面而得不到清晰图像。若将C型镜头不加接圈.
2021-07-12 11:35:59 2651
原创 互联网基础知识介绍
本篇文章介绍一下DNS,DNS是这几个字母的缩写:Domain name server,提供通过url查找ip地址的服务。博客首页的图片是油管一个视频的截图,这个视频叫这个名字:DNS Explained. DNS业务中一共有这几个角色: BROWSER: 浏览器 OPERATING SYSTEM: 操作系统https://www.youtube.com/watch?v=72snZctFFtA...
2021-07-08 20:12:02 471 1
原创 grep用法示例
grep的百科介绍: grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command g/re/p (globally search for a regular expression and print matching lines), which has the ...
2021-07-07 16:58:54 211
原创 为什么要有数据类型?
昨天有人问我为什么要有数据类型,我当时没有回答上来,后来思考了一下,应该是这样。 如果当年我设计C语言,去掉了数据类型,我会怎么设计呢? 1) 把C语言设计成脚本语言,不编译了,运行时遇到数据,得到数据的类型和长度时,才生成机器指令,好吧,如果这样设计,估计没人会用C语言了,肯定会很慢。 2)编译时,如果能确定数据类型的,就按照对应的数据类型来生成机器指令,如果不能确定数据类型,比如用户输入,库函数,就...
2021-07-07 11:19:41 1509
原创 CPU算力单位
1Flops/s简写为T/s,是数据流量的计数单位,意思是“1万亿次浮点指令每秒”,它是衡量一个电脑计算能力的标准。1TFlops=1024GFlowps,即1T=1024G。各种FLOPS的含义:1) 一个MFLOPS(megaFLOPS)等于每秒1百万(=10^6)次的浮点运算;2) 一个GFLOPS(gigaFLOPS)等于每秒10亿(=10^9)次的浮点运算;3) 一个TFLOPS(teraFLOPS)等于每秒1万亿(=10^12)次的浮点运算;4) 一个PFLOPS(petaF..
2021-07-06 10:21:10 7660
dlib人脸关键点模型
2020-07-20
OpenCV之_HaarTraining资料
2014-04-01
我做车辆角点跟踪的主要文档
2014-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人