
c++
文章平均质量分 60
奔跑的橘子
朝闻道,夕死可矣。私信可能无法及时回复,公众号:我是小强何故乱翻书,可关注后私信我
展开
-
说说SFINAE
SFINAE的介绍,例子及讲解。原创 2022-01-28 22:41:53 · 1541 阅读 · 1 评论 -
c++ 判断文件目录是否存在
c++判断文件或者目录是否存在,原创 2016-11-12 15:43:01 · 5035 阅读 · 0 评论 -
程序员应知应会之——结构体字节对齐 填充与打包
什么是字节对齐?一文搞懂字节对齐。翻译 2021-12-14 23:21:47 · 1789 阅读 · 0 评论 -
谈一谈c/c++程序的内存布局
浅谈c程序的内存布局,怎么查看程序的内存布局原创 2021-12-08 22:50:54 · 879 阅读 · 0 评论 -
c/c++ 可执行文件生成过程
如上图,c可执行文件的生成分为方框中的四个步骤:1、预处理:预处理的结果还是一个c文件,只不过以.i为后缀。所谓预处理,处理的是以#开头的东西,比如说#include,预处理器会读取文件stdio.h将文件内容直接插入在#include,处。此外还会处理,#define宏。2、ccl将.i转换为汇编语言(组合语言),每条汇编语句都描述一条机器指令。汇编语言为不同编译器、不同高级语言提供一种翻译 2013-04-14 21:42:32 · 2286 阅读 · 0 评论 -
拉依达准则的一个c++实现
拉依达准则的一个c++实现,c++ accumulate的使用,使用c++ lambda表达式计算标准差。原创 2021-09-09 22:16:41 · 1835 阅读 · 0 评论 -
从遍历文件说到c++17 中的filesystem
c++17中推出了filesystem如今遍历文件一行代码就够了filesystem中有哪些新鲜玩意儿cmake中设置c++标准原创 2021-08-26 22:06:17 · 2922 阅读 · 1 评论 -
rtklib2.4.3 b34的一个与编译器有关的bug
最近在使用rtklib时遇到一个问题,困扰了许久,最后总算用歪门邪道的方式解决了。issue如下重新基于rtklib的代码编译一个application,解算数据,一切正常。下一步,将rtklib中的trace去掉,再编译,解算。好的,问题出现,不能解算了。是真的将所有trace去掉,不是将level设置为0,或者将trace name设置为空,或者将函数体注释掉。这些方式并不能真正去掉trace,并且这些情况重新编译的话,是可以正常解算的。为什么这些方式不能真正去掉trace?因为,这些方法原创 2021-02-27 15:01:42 · 756 阅读 · 2 评论 -
c++ 调用c代码 extern “C“ 确不能解决问题 unresolved external symbol
c++ 调用c代码 extern "C" 确不能解决问题 unresolved external symbol为什么不起作用了?cmake设置cpp工程visual studio工程设置源代码文件编译方式原创 2021-01-03 21:35:19 · 4086 阅读 · 2 评论 -
QT中使用c 或者 c++ 动态库
qt中调用c/c++动态库QLibraryQt中调用c++动态库失败原创 2020-11-13 22:27:17 · 3198 阅读 · 0 评论 -
使用odbc的若干问题
c++使用odbc连接sqlserver数据库odbc的连接字符串怎么写odbc driver怎么选取原创 2020-05-30 15:23:01 · 999 阅读 · 0 评论 -
一个最简单的c日志实现及其改进
这是一个非常简单的c日志实现,但做了若干改进,如,c++实现控制台输出颜色控制根据日期或文件等大小分割等原创 2020-05-24 13:03:02 · 613 阅读 · 0 评论 -
几种滑动平均滤波器的c++模板实现
几种滑动平均滤波的c++模板实现均值滤波c++模板实现原创 2020-05-17 18:19:48 · 2874 阅读 · 0 评论 -
迭代器分类标签及用途
什么是 std::random_access_iterator_tag还有哪些迭代器分类标签stl中如何针对不同迭代器做算法选择原创 2020-05-03 16:01:56 · 935 阅读 · 0 评论 -
c++ sort解读
文章目录函数原型sort代码快速排序阶段堆排序阶段插入排序c++ 中sort函数的具体实现在不同编译器下不同,本篇代码来自msvc编译器,版本号14.24.28314函数原型首先可以看到sort函数有两个原型,如下,template <class RandomAccessIterator> void sort (RandomAccessIterator first, Ran...原创 2020-05-02 16:10:58 · 856 阅读 · 0 评论 -
c++ map和unordered_map怎么选择
c++ map和unordered_map怎么选择,c++ map和unordered_map实现所基于的数据结构决定了两者的效率原创 2020-04-30 22:57:25 · 1086 阅读 · 0 评论 -
stl map之从入门到真的很懂
stl 中map怎么用?是用什么数据结构实现的?什么样的数据类型可以做key?什么是有序?时间复杂度是多少?为什么?原创 2020-04-21 22:55:40 · 386 阅读 · 0 评论 -
c++模板
怎么写一个模板函数?怎么写一个模板类?如何将模板的声明与实现分开写在不同的文件里。原创 2019-11-30 21:18:46 · 179 阅读 · 0 评论 -
Visual Studio 中 __cplusplus 宏一直为“199711L”
__cplusplus 宏一直为“199711L”。Visual Studio 怎么解决这个问题呢?cmake又怎么设置呢?__cplusplus是什么?原创 2019-09-19 22:31:50 · 7626 阅读 · 2 评论 -
当const遇到重载
目录成员函数只有const属性不同可以重载重载编译器做了哪些事const成员函数重载的处理为什么要存在这两个版本的函数成员函数只有const属性不同可以重载// test.cpp : Defines the entry point for the console application.//// #include "stdafx.h"class Bird{public: d...原创 2019-09-14 12:29:27 · 200 阅读 · 0 评论 -
windows 平台c++代码获取物理地址
头文件IPApi.h#pragma once// Returns number of NICs// 'address' contains the physical address of index='idx'int get_physical_address(char * address, int idx);// Returns number of NICs// 'address' ...原创 2019-06-25 22:15:34 · 1380 阅读 · 0 评论 -
添加服务程序的依赖关系
近日遇到一个问题,我们的服务程序必须设为随机启动类型,但是服务依赖sql server 服务,需要连接数据库,如果连接不上数据库,则服务启动失败。这样的话,如果简单的把服务设置为自动启动,就会出现问题。咋办呢?请教了一下前辈,前辈很快给出了答案-一篇博文。具体方法:是在注册表中添加服务的依赖服务。做法:(1)运行-regedit (2)HKEY_LOCAL_MA原创 2013-05-11 21:41:08 · 1463 阅读 · 0 评论 -
预处理发生了什么
预处理主要处理以#开头的东西和注释,如下c++代码:vs2008默认不保留预处理文件,如果要查看,请设置 属性 -c/c++ - 预处理器 - 生成预处理文件// study.cpp : 定义控制台应用程序的入口点。//#include "gpsheader.h"#define __use_polar_radius__/* polar_radius */#define pol原创 2016-10-11 22:49:27 · 621 阅读 · 0 评论 -
LINK : fatal error LNK1104: 无法打开文件“libboost_serialization-vc90-mt-gd-1_62.lib”
使用boost库时需添加.lib文件1. 下载boost2. 运行bootstrap.bat3. 运行b2.exe3. 添加boost到附加包含目录 C/C++/常规/附加包含目录5. 添加\stage\lib到附加库目录 连接器/常规/附加库目录重新编译原创 2016-10-21 22:31:08 · 7945 阅读 · 2 评论 -
RAII理念 应用于MFC 按钮使能控制
RAII aka 资源获取即是初始化,是c++的资源自动管理方式。这种理念用于MFC界面控制亦可。如以下button响应函数,在进入函数时禁用按钮,返回时使能按钮。那么问题是,若响应函数中逻辑有点点复杂,很难控制住每个return之前都使能了按钮。若果落下一个分支,那么这个按钮就演化成僵尸按钮了。即便能仔细检查不拉下任何一个机会,但是以后代码交给别人维护呢?void CSnrView::O原创 2016-10-12 22:24:45 · 635 阅读 · 0 评论 -
嵌入式C中消除BUG的良好编程习惯
Rule #1 – 大括号在if, else, switch,while, do, 和for等关键字后始终使用大括号{},即便这些关键字后仅仅有一条语句或者是空语句。如下:// Don't do this...if (timer.done) // A single statement needs braces! timer.control = TIMER_RESTA翻译 2016-10-29 15:16:53 · 458 阅读 · 0 评论 -
python 3 调用c/c++ 动态链接库 *.dll
首先,创建动态链接库(一个简单的北斗数据处理接口,为简化处理,实现部分直接返回值),代码如下:#ifndef _pro_header_2014_#define _pro_header_2014_#ifdef EXPORT_PRO_DLL#define PRO_API __declspec(dllexport)#else#define PRO_API __declspec(dllim原创 2016-11-16 21:44:36 · 9921 阅读 · 0 评论 -
QT5 地图开发步骤
步骤如下:1.在*.pro中添加,并qmakeQT += webengine webenginewidgets2. 在*.ui中添加Widget named widget_web,并升级为QWebEngineView3. 在程序代码中添加ui->widget_web->setUrl(QUrl(spath));// spath为地址编译运行程序,效果如下:原创 2017-04-16 17:11:31 · 17958 阅读 · 2 评论 -
qt使用QTranslator QObject::tr(“”)软件国际化
1. 程序入口处添加如下代码: QTranslatortranslator; translator.load("uav_tr_la"); qApp->installTranslator(&translator);2. 在 *.pro中添加下行: TRANSLATIONS=uav_tr_la.ts3. 将界面中显原创 2017-04-22 07:51:08 · 2985 阅读 · 3 评论 -
qt5 QCharts使用 绘制曲线步骤
如何使用qT 的QChart进行曲线的绘制,在使用QT绘制曲线时会遇到哪些问题,比如设置日期横轴,横轴密度稀疏化等等;还包括QT怎么更改程序的字体。原创 2017-04-16 17:21:46 · 26895 阅读 · 7 评论 -
qml中调用c++
在qml中调用c++ (类成员,成员函数),在官方文档中有详细描述,地址如下:http://doc.qt.io/qt-5/qtqml-cppintegration-exposecppattributes.html这里尽可能简单的总结一下,只说方法,不谈理论。先说c++部分代码头文件如下:#ifndef QDATAMGR_H#define QDATAMGR_H#in...原创 2018-01-28 21:33:49 · 6931 阅读 · 1 评论 -
《TCP/IP网络编程》笔记2-套接字类型及协议设置
概要套接字协议及其数据传输特性面向连接的套接字面向消息的套接字代码结果概要此节代码在笔记1理解套接字基础上略作修改而成。主要讲解了套接字协议。套接字协议及其数据传输特性创建socket需要下边这个函数:#include <sys/socket.h>int socket(int domain,int type,int protocol);...原创 2018-04-07 17:27:27 · 359 阅读 · 0 评论 -
ublox8 M8协议介绍
u-blox芯片是瑞士U- blox公司研发的一款芯片,输出数据可配置为以下三种协议: - NMEA - ublox - RTCM 其中NMEA和RTCM协议均为标准协议,不做介绍。下面简要介绍ublox自定义协议: 官方文档地址ublox协议三个特点1字节对其low-overhead 校验算法两级消息标识符,分为class id和消息id...原创 2018-03-31 14:11:43 · 22372 阅读 · 8 评论 -
《TCP/IP网络编程》笔记3-地址族与数据序列
概要实现概要 本章主要内容是搞清楚,网络通讯中的数据靠什么定位到目标应用程序?IP地址 - 唯一确定网络中的一台计算机 端口号 - 区分计算机中的不同端口 所以靠ip地址和端口号就确定了网络中的一个唯一应用程序,本章以下内容都是实现细节了。实现通过server端部分代码来理解地质族这一节,完整代码见笔记1。 // 此部分工作主要由bind...原创 2018-04-09 21:58:24 · 286 阅读 · 0 评论 -
c++ vector“最大”容量
明白c++ 中vector的size, capacity, max_size的意义及关系。原创 2018-05-15 22:00:26 · 37874 阅读 · 6 评论 -
windows 下使用googletest(gtest)
lib库生成github上下载源代码git clone https://github.com/google/googletest.git编译源代码 在目录gtest\googletest\googletest\msvc下是visual studio的工程文件,可以看到2010这个文件夹。这样的话只要本机版本&gt;=2010即可。我的是2015,因此使用2015打开并编译gte...原创 2018-06-03 12:11:24 · 13833 阅读 · 4 评论 -
google log(glog) used on windows
glog是一个开源日志项目,源代码位于:https://github.com/google/glog项目已经支持windows上的应用,只是项目中不提供现成儿的.sln工程文件,需要自己生成。使用cmake可以生成所需版本的.sln工程文件。In short, (1) Install CMake from: https://cmake.org/download/ (2)...原创 2018-06-10 17:21:32 · 982 阅读 · 0 评论 -
visual studio c++代码中使用git版本信息
目录总体思路自动代码生成使用自动生成的代码集成运行结果总体思路本篇使用的方法不更改visual studio的任何设置,完全使用的是“蛮力”。使用python写成的tool获取版本信息,并auto code为一个.h文件,文件中仅是一个git版本信息类在需要git版本信息的代码中,使用1中自动生成的类将autocode, 代码编译两个过程写到一个批处理自动代码生成我们希望将git...原创 2018-10-12 22:27:34 · 1600 阅读 · 0 评论 -
loadlibrary返回0
函数:HMODULE WINAPI LoadLibrary( _In_ LPCTSTR lpFileName);载入动态连接库失败。跟踪了一下,返回值总是0.1、首先仔细检查了一下lpFileName,发现路径和动态库名称都没有问题;2、使用软件Depends.Exe查看目标动态库,依赖了哪些动态库,查看这些动态库是不是存在,是不是能正确调用。原创 2013-04-23 22:50:31 · 5412 阅读 · 1 评论