C++
文章平均质量分 72
小马甲的新马甲
阿巴阿巴阿巴。
展开
-
【Linux】Linux环境下用C++删除指定文件
【Linux】Linux环境下用C++删除指定文件#include <cstdio>#include <string>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <iostream>#include <vector>#include <dirent.h>#include <time.h>原创 2021-12-02 14:07:21 · 3264 阅读 · 0 评论 -
【GNSS】G-Nut/Anubis:Anubis数据结构
【GNSS】G-Nut/Anubis:Anubis数据结构输入/输出结构、解码器和编码器文件和流 IO 操作使用虚拟gio类表示,该类可以在运行时由适当的继承类替换。在实时方面,这由gtcp (TCP) 实现和gntrip (NTRIP) 实现(通过重新实现身份验证的初始化过程从 gtcp 派生而来。这种实现支持实时和后处理方法)适用于所有用户应用程序的独特方式。gio 类的内部缓冲区支持处理 ASCII 和 BINARY 数据。其他特殊文件类(giof , glog和gxtr)为额外的 I原创 2021-10-20 11:01:22 · 1416 阅读 · 0 评论 -
【C/C++】C++代码质量度量工具大阅兵
【C/C++】C++代码质量度量工具大阅兵转载自:https://www.cnblogs.com/jiangxinnju/p/12292818.htmlcppcheckcppcheck: https://sourceforge.net/projects/cppcheck/各种IDE和编辑器插件: http://cppcheck.net/检查项: https://blog.csdn.net/a435262767/article/details/90137573CCCCC and C++转载 2021-09-22 19:30:09 · 420 阅读 · 0 评论 -
【C/C++】C++11 第三方开源LOG日志库-spdlog (1)
【C++】C++11 第三方开源LOG日志库-spdlog (1)1. 安装,直接在github搜索spdlogspdlog是基于C++ 11的日志组件,它非常轻量,使用时你仅仅需要引入头文件就可以了。Header only versionCopy the include folder to your build tree and use a C++11 compiler.Static lib version (recommended - much faster compile times)$原创 2021-09-18 17:19:29 · 2407 阅读 · 0 评论 -
【C/C++】LOG日志分级
LOG日志分级常用分级为DEBUG、INFO、WARN、ERROR、CRITICAL。之前一直不明白每个等级应该在什么时候使用,现在归纳总结下:1、DEBUG面向功能开发人员,一般在功能开发阶段使用,用来给开发人员检查功能是否正常的。此类日志只在开发阶段使用,版本不输出。2、INFO内测版可输出此日志,用来查看新开发特性或者 bug fix 是否正常。上网版不输出。3、WARN不会对系统造成影响的非正常流程。上网版本输出。3、ERROR会对系统造成影响的非正常流程,可自我修复,不影响原创 2021-09-18 17:08:12 · 1296 阅读 · 0 评论 -
【C/C++】C++代码质量检核工具-cppcheck
【C/C++】C++代码质量检核工具-cppcheckcppcheck介绍Cppcheck是一个用于C/C++代码的静态分析工具。它提供独特的代码分析来检测bug,并侧重于检测未定义的行为和危险的编码结构。常用检查项如下所示:检查边界溢出检查内存泄漏检查可能的空指针间接引用检查未初始化的变量检查无效的STL使用检查异常安全警告如果过时的或者不安全的函数使用警告未使用的或者冗余的代码检测各种潜在bugs的可疑代码等使用CppCheck使用方法:命令行调用可视化界面使用作为原创 2021-09-06 14:05:02 · 5022 阅读 · 0 评论 -
【C/C++】C++风格指南
背景介绍C++ 是 Google 大部分开源项目的主要编程语言. 正如每个 C++ 程序员都知道的, C++ 有很多强大的特性, 但这种强大不可避免的导致它走向复杂,使代码更容易产生 bug, 难以阅读和维护.本指南的目的是通过详细阐述 C++ 注意事项来驾驭其复杂性. 这些规则在保证代码易于管理的同时, 也能高效使用 C++ 的语言特性.风格, 亦被称作可读性, 也就是指导 C++ 编程的约定. 使用术语 “风格” 有些用词不当, 因为这些习惯远不止源代码文件格式化这么简单.使代码易于管理的方法之原创 2021-02-16 09:42:22 · 499 阅读 · 1 评论 -
【GNSS】单点定位程序总结 二 时间系统模块
宝藏就在这里,就看还在上这门课的学弟学妹能不能发现了时间系统模块1.1儒略日时间定义与表示儒略日(Julian day,JD)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。如果计算相隔若干年的两个日期之间间隔的天数,利用儒略日就比较方便。在程序中,用结构体JDTIME表示儒略日时间,结构体定义如下 1 2 3 4 5 6 7 .原创 2021-02-05 12:40:23 · 890 阅读 · 0 评论 -
【GNSS】单点定位程序总结 一 矩阵与矢量运算模块
宝藏就在这里,就看还在上这门课的学弟学妹能不能发现了一、矩阵与矢量运算模块1.1矢量运算1.1.1矢量加法1.原理有两个三维空间矢量 我们可以得2.代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bool VecAdd(const int n1, const double Vec1[], const i..原创 2021-02-05 12:30:46 · 507 阅读 · 0 评论 -
【GNSS】PEA软件-GNSS 服务端整网数据处理的开源软件
PEA软件-GNSS 服务端整网数据处理的开源软件官方文档Analysis Centre Software - Network Parameter Estimation AlgorithmOverviewThe Analysis Centre Software (ACS) is a processing package being developed to processes GNSS observations for geodetic applications.We currently sup原创 2021-02-05 11:33:20 · 3909 阅读 · 1 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第4.3章 代码解读之gtypeconv.h/gtypeconv.cpp
GREAT多频多系统GREAT-UPD开源代码-第4.3章 代码解读之gtypeconv.h/gtypeconv.cpp该类中继承了一些常用的格式转换和数学功能。主要是str转各种类型数据和各种类型数据转str。函数实现中全部基于标准C++库,可以直接集成和移植。头文件 /**@brief double equivalence according to machine capability */ GNUT_LIBRARY_EXPORT bool double_eq(const double&原创 2021-02-01 10:53:19 · 488 阅读 · 6 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第4.2章 代码解读之gtime.h/gtime.cpp
GREAT多频多系统GREAT-UPD开源代码-第4.2章 代码解读之gtime.h/gtime.cpp介绍作为Gnut和GREAT-UPD的时间管理类,t_gtime类集成了如下功能:JD,MJD,GPST,UTC等各种时间系统间的相互转换支持时间+,-,>,=,<等判断和计算支持格式化输出整个类的实现只使用了标准std库,可以直接利用到自己相关的GNSS开发当中,节约GNSS-Time相关部分的代码开发时间和精力。在函数实现中,有着详细的变量介绍和函数解释,上手简单。具体原创 2021-02-01 10:44:29 · 745 阅读 · 0 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第4.1章 代码解读之gnss.h/gnss.cpp
GNSS——GREAT多频多系统GREAT-UPD开源代码-第4.1章 代码解读之gnss.h/gnss.cpp第4.1章 代码解读之gnss.h/gnss.cpp1. GNSS系统设定///< GNSS systems and augmentationsenum GSYS { // GXX = -1, GPS, GAL, GLO, BDS, QZS, SBS, IRN, GNS};GPS = GPSGAL = GalileoGLO= GLONASSBDS= BeidouQ原创 2021-01-31 22:18:53 · 1241 阅读 · 0 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第三章 中间及结果文件格式
GREAT多频多系统UPD开源代码-第三章 中间及结果文件格式Ambupd File文件格式介绍Ambupd文件是NL-UPD估计的输入文件,它是一个文本文件,其中一行包含模糊度信息。它包含WL模糊度和IF模糊度。IF模糊度可以通过PPP浮点解来估计。下表显示了ambupd文件的格式。(注意:为了适应批处理python脚本,请将ambupd文件命名为“SITE\u ambupd\u yyyyydoy”格式)文件格式说明NoData Record/FieldData Section原创 2021-01-31 20:51:31 · 1048 阅读 · 1 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第二章 配置文件
GREAT多频多系统UPD开源代码-第二章 配置文件配置文件示例在GREAT的配置文件中包含处理选项、解决方案选项和文件选项。它以XML格式表示,其中包含表示各种选项的“Keyword=Value”表单记录。以“<”开头的文本!–一行中以“–>”结尾的“和”被视为注释。下表显示了XML文件的格式。upd_NL_Linux配置文件示例<config> <gen> <beg> 2020-01-01 00:00:00 </beg&原创 2021-01-31 20:25:53 · 765 阅读 · 0 评论 -
【GNSS】GREAT多频多系统GREAT-UPD开源代码-第一章 介绍
GREAT多频多系统UPD开源代码-第一章 介绍武汉大学李星星团队在【GPS Solution】开源了GNSS UPD估计模块(GREAT-UPD)。可为 PPP 模糊度固定解计算小数周偏差改正数。根据介绍,该模块可以估计目前四大主流的卫星导航系统(GPS、GLONASS、Galileo 和 BDS)的超宽巷、宽巷和窄巷 UPD。原地址为 http://igmas.users.sgg.whu.edu.cn/group/tool/8该网站还有其他有用的小工具,感兴趣的可以去看一下。【所属分类】:C原创 2021-01-31 19:22:27 · 2341 阅读 · 4 评论 -
【GNSS】SPP中的大气延迟
大气延迟对流层延迟在GNSS领域,对流层延迟是定位误差来源之一。卫星导航定位中的对流层延迟通常是泛指电磁波信号在通过高度为50km以下的未被电离的中性大气层时所产生的信号延迟。在研究信号延迟的过程中,我们不再将该大气层细分为对流层和平流层(如大气科学中那样),也不再顾及两者之间性质上的差别。由于80%的延迟发生在对流层,所以我们将发生在该中性大气层中的信号延迟通称为对流层延迟。 对流层是大气层较低的部分,对于直到高达15GHz的频率来说它是非色散的。在这种介质中,与L1和L2上GPS载波和信号信息(P原创 2021-01-30 12:34:00 · 2657 阅读 · 1 评论 -
【GNSS】简单的矩阵库实现
矩阵运算声明/*------------------------------------------矩阵运算部分;-----------------------------------------------*//*矢量相乘;*/bool VecPlus(const int n1, const double Vec1[], const int n2, const double Vec2[], double *result);/*矢量相加;*/bool VecAdd(const int n1, c原创 2021-01-30 12:13:50 · 188 阅读 · 0 评论 -
【GNSS】GNSS处理中的时间系统
精密GNSS数据处理中主要涉及三种时间类型:以地球自转为基础建立的世界时系统;基于物质内部的原子运动特性的原子时系统;基于天体动力学理论的动力学时系统。概念介绍世界时(UT)世界时是指通过观测恒星的视运动表达的时间系统,如恒星时(ST)指以春分点为参考连续两次经过地方子午圈的时间间隔。格林尼治平恒星时(GMST)消去了章动影响。 同理,以太阳为参考称为太阳时。以真太阳时的平均角速度在天球赤道上作周年视运动的 平太阳作为参考的为平太阳时。若平太阳时起点为平子夜,称为世界时(UT0)。UT0 进行 极移改原创 2021-01-30 11:55:36 · 3283 阅读 · 0 评论 -
C/C++——值得学习的C语言开源项目
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html- 2. Tinyhttpdtinyhttpd是一个超轻量型Http Ser原创 2021-01-30 01:04:36 · 679 阅读 · 0 评论 -
C++——stl标准库中容器集合常用函数
背景STL库中有丰富的集合运算方法,我们可以使用它们快速完成交集、并集、差集、对称差集的运算。交集(intersection)交集是集合运算中经常会用到的计算,其表达是两个集合共有的部分(图中红色区域)。set_intersectionSTL中有set_intersection方法可以实现该功能。它是C++17开始支持的方法,声明于****中。其中一种形式是template< class ExecutionPolicy, class ForwardIt1, class ForwardIt原创 2021-01-29 18:26:37 · 364 阅读 · 0 评论 -
C++——Newmat-指北
背景该软件包适用于需要使用标准矩阵运算来处理各种类型矩阵的科学家和工程师。重点在于统计计算所需的运算类型,例如最小二乘法,线性方程求解和特征值。本人在做GNSS开发过程中,使用的三方矩阵库为Newmat和Eigen,其中Newmat因为使用的人较少,比较小众,网络上能找到的简单介绍更是基本上没有。因此在这里对Newmat矩阵库做一个简单的介绍。更多用法还是要看官方文档:官方文档支持的矩阵类型Matrix矩阵Matrix矩形矩阵UpperTriangularMatr原创 2021-01-29 18:23:42 · 1183 阅读 · 0 评论 -
C++——std::string标准库不包含的一些常用的小函数
C++ std::string标准库不包含的一些常用的小函数去除头尾的多余空格 std::string trim(std::string s) { if (s.empty()) { return s; } s.erase(0, s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ") + 1); return s; }去除头尾的空格、tab(/t)和换行符(/n)原创 2021-01-29 18:22:57 · 407 阅读 · 0 评论 -
G-Nut/Anubis——第一章:软件介绍
G-Nut/Anubis applicationG-Nut/Anubis is a command-line tool for a quality check of modern data from all available GNSS constellations providing full quantitative and qualitative control with support of GNSS navigation messages:observation statistics (c原创 2021-01-29 09:47:00 · 6865 阅读 · 10 评论 -
C++-读取某个文件夹下面的子文件夹及其所有文件
C++读取某个文件夹下面的子文件夹及其所有文件方法一下面是输出当前目录下的所有文件夹以及文件的绝对路径(当然也可以是相对路径,由输入的路径决定),下面的函数接口可以改装为单输出文件或者文件夹的接口,这是一个大方面的总接口。#include <fstream>#include <iostream>#include <string>#include <sstream>#include <vector>using namespace st原创 2021-01-28 22:46:04 · 7001 阅读 · 2 评论 -
C++-Doxygen简明注释语法
文章是转载的,因为年代太久远了,已经找不到原链接了语法简介Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。提供了一套注释方式便于把代码中的注释生成说明文档。很多开源项目都在使用,例如:wxWidgetsclang下面是常用的注释简介。1. 简单注释单行注释:///或者//!多行注释:/**或者/*!2. 文件注释文件注释通常放在整个文件开头。/** * @file 文件名 * @brief 简介 * @details 细节 * @m.原创 2021-01-28 22:45:03 · 1040 阅读 · 0 评论