自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下一切皆文件

在Linux下,大多数资源都是以文件的方式访问的。Linux系统上的文件类型有:普通文件。就是储存到磁盘上大家所操作的各种数据文件;管道文件。是一个从一端发送数据,从另一端接收数据的通道;目录也叫目录文件,是包含了保存在目录中文件的列表;设备文件是一种特殊文件,提供了大多数物理设备的接口;符号链接包含了到另一个人文件的连接,类似于windows的快捷方式;套接口套接口更像管道文件,但可以让处于不同机器上的进程通讯。比如进入Linux系统,cd不带参数回到宿主目录,然后:cd

2020-05-18 21:29:56 272

原创 在Linux下使用gdb调试代码

一个不会调试的程序员不是一个好的程序员。gdb即GNU debugger,是一个在Linux下调试程序的有力工具。gdb完成的大部分工作都可以用很少的命令集合完成。下面说一下在Linux下使用gdb调试代码的有关技巧。为了方便说明问题,这里使用了一个简单的带有bug的代码helloworld.c:#include <stdio.h>int main(){ int *buf = NULL; *buf = 5; printf("helloworld\n"); return

2020-05-17 21:38:40 531

原创 makefile文件的编写

在Linux中可以使用gcc完成程序的编译链接生成可执行文件或库。但在实际开发项目中,源文件会有很多,这时如果使用gcc对每个源文件进行编译,然后再把所有相关的.o中间文件或库链接成可执行文件时就非常繁琐,而且非常容易出错,有没有什么办法解决呢?这时可以使用 make命令来编译打包可执行程序。1.什么是make和makefile编写?make是一种控制编译或者重复编译软件的工具,make可以自动管理软件的编译内容、方式和时机,从而使程序员把更多的精力集中在编写代码上。make是怎么完成工作的呢?

2020-05-16 22:17:50 372

原创 使用gcc编译程序过程详解

1.gcc简介GNU CC(通常简称GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序。gcc是Linux开发的基础,gcc能够支持多种不同的C语言版本,同时提供Linux、Unix、Windows下的编译版本。使用gcc,程序员可以对编译过程有更多的控制,编译过程分为3个阶段:预处理;汇编;链接。程序员可以再编译的任何阶段结束后停止整个编译过程以检查编译器在该阶段输出的信息。使用gcc,程序员可以控制生成二进制执行文件中调试代码的数量和类型。和其他编译器一样,gcc也可以

2020-05-16 19:13:07 1802

原创 SecureCRT连接ubuntu

一、ubuntu设置开启Ubuntu上的ssh功能先安装:sudo apt-get install openssh-server然后启动:openssh-client再确认ssh-server正常工作:netstat -tlp最后查看准备连接到ubuntu的ip地址:ifconfig2.SecureCRT配置未开启任何会话设置默认环境按下确定按键,SecureCRT配置完毕3.SecureCRT 连接ubuntu新建一个会话此时就完成了新建一个会话。

2020-05-16 16:03:07 1469

原创 GitLab CI / CD pipeline配置参考

本文为https://gitlab.starcart.cn/help/ci/yaml/README.md的翻译。在每个项目中使用一个叫.gitlab-ci.yml的YAML文件来配置GitLab CI/CD pipeline。该.gitlab-ci.yml文件定义了pipeline的结构和顺序,并确定:使用GitLab Runner执行什么。遇到特定条件时要做出什么决定。例如,当一个过程成功或失败时。本主题涵盖CI/CD pipeline配置。有关其他CI/CD配置信息,请参阅:GitLab

2020-05-12 16:42:00 1647

原创 GitLab CI/CD快速入门

本文为https://gitlab.starcart.cn/help/ci/quick_start/README.md的翻译中文版。GitLab提供持续集成(continuous integration)服务。如果添加一个.gitlab-ci.yml文件到项目根目录,并配置GitLab项目使用某个Runner,然后每一次提交或者是推送都会触发CI pipeline..gitlab-ci.yml文件会告诉GitLab Runner 做什么。默认情况下,它运行一个pipeline,分为三个阶段:build,

2020-05-11 17:14:58 367

原创 模板方法设计模式

一、什么是模板方法设计模式考虑一个问题,我们想知道执行一段程序耗时多长,怎么做呢?这个问题很简单:1.在程序执行前,获取一下当时的时刻t1;2. 然后跑那段需要测试耗时的程序;3. 执行完后,获取一下当时的时刻t2;4. 那段程序的耗时就为(t2-t1)。用代码实现也是比较简单。过了几天,需要知道另一个程序的耗时,怎么办呢?把上面的代码拷过来,把步骤3替换成新的被测程序吗?以后有新的程序需要测试耗时,怎么办呢?有没有更好的解决这个问题的方法呢?通过分析知道,测试一段程序的耗时,这个流程是固

2020-05-08 17:56:27 184

原创 最小二乘法

https://blog.csdn.net/ccnt_2012/article/details/81127117

2020-04-29 16:31:58 125

原创 卡尔曼滤波算法

参考:https://blog.csdn.net/u010720661/article/details/63253509

2020-04-16 16:09:05 262

原创 卫星定位原理

以美国的GPS(Global Positioning System)全球定位系统为例。(网图,侵权请联系删图)一、GPS的组成及各部分的作用全球定位系统(英语:Global Positioning System,通常简称GPS),又称全球卫星定位系统,是美国国防部研制和维护的中距离圆型轨道卫星导航系统。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的标准时间。全球定位系...

2020-04-15 18:13:13 4700

原创 c++实现反射机制

一、问题的提出在c++程序中,如果知道了一个类,然后我们就可以使用类名去访问这个类的 静态公有成员变量 或 静态成员函数: 类名::静态公有成员变量; 类名::静态公有成员函数;或者我们可以创建这个类的一个对象,然后通过对象去访问公有成员变量 或 公有成员函数: 类名 *pobj = new 类名(); pobj -> ...

2020-04-10 11:00:40 2107

原创 卫星运行的规律与卫星定位原理

一、开普勒定律开普勒定律是由德国天文、数学家约翰尼斯·开普勒所发现、关于行星运动的定律。他于1609年在他出版的《新天文学》科学杂志上发表了关于行星运动的两条定律,又于1618年,发现了第三条定律。开普勒第一定律根据开普勒第一定律,太阳位于椭圆轨道的一个焦点。开普勒的第一定律,也称为椭圆定律、轨道定律:每一个行星都沿各自的椭圆轨道环绕太阳,而太阳则处在椭圆的一个焦点中。开普勒第二...

2020-04-08 18:03:34 4986

原创 Java和C++实现单例设计模式

一、单例设计模式概述单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复...

2020-04-07 16:50:57 349

原创 Java和C++使用JNI进行交互之C++类型转换相关

本文主要讲述的在C++端,将java通过jni传进来的类型的转换成对应的c++类型。1、JNI是什么JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的...

2020-04-01 14:52:42 1155

原创 protobuf在windows 的Qt和ubuntu的Qt上的使用(二)

一、使用环境系统:ubuntu 14.04Qt版本:5.2.1protobuf版本:3.8.0二、在ubuntu上安装protobuf库protobuf开源地址:https://github.com/protocolbuffers/protobuf找到想要3.8.8版本,在ubuntu上下载protobuf源码:https://github.com/protocolbuffers/p...

2020-04-01 11:56:02 686

原创 protobuf在windows 的Qt和ubuntu的Qt上的使用(一)

一、 protobuf是什么protobuf,Protocol Buffer (简称Protobuf) 是Google开源的性能优异、跨语言、跨平台的序列化库。序列化(serialization、marshalling)的过程是指将数据结构或者对象的状态转换成可以存储(比如文件、内存)或者传输的格式(比如网络)。反向操作就是反序列化(deserialization、unmarshalling)...

2020-03-30 14:39:16 1042 1

Kalman.rar

卡尔曼滤波算法,使用c++实现,里面包含是GPS模拟模块,Matrix类。 尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值。卡尔曼滤波器的操作包括两个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。

2020-04-29

实现Http的网络库(Qt工程)

Mongoose是一个用C编写的网络库。它为客户端和服务器模式实现TCP,UDP,HTTP,WebSocket,CoAP,MQTT的事件驱动的非阻塞API。

2020-04-21

空空如也

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

TA关注的人

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