C++
文章平均质量分 59
对望小秘
这个作者很懒,什么都没留下…
展开
-
你所不知道的C和C++运行库
C和C++运行库中介绍,主要是项目属性-C/C++-代码生成-运行库 中几个选项/MD、/MDd、/MT、/MTd的介绍。转载 2022-08-22 19:50:53 · 1425 阅读 · 0 评论 -
CMake编译VS工程,生成解决方案时遇到错误:error MSB3073: 命令“setlocal”
一、问题描述 CMake编译ZXing-cpp,编译成功后,打开项目,x86(win32)平台生成解决方案成功,但在x64平台,debug模式下报错:error MSB3073: 命令“setlocal”,如下图:二、问题原因及解决方案(一)原因由于在CMake GUI中CMAKE_INSTALL_PREFIX指定为C盘目录,所以install编译生成时需要权限。此时,需要以管理员身份运行Vs即可,见解原创 2022-04-15 11:28:15 · 7698 阅读 · 0 评论 -
C/C++数组初始化的一些误区
以前我这样初始化一个数组,并自我感觉良好: int a[5] = { 0 }; // 全部初始化为0这种简单的写法让我非常爽,于是我又想把数组全部初始化为1:int a[5] = { 1 }; // 我想全部初始化为1直到十分钟前,我都以为这句代码确实能够将5个元素全部初始化为1,但事实跟我想的完全不同!(基础的东西革命的本钱,疏漏不得啊) 全部初始化为0的那行代码确实是没问题的,可以正常工作...转载 2021-07-13 15:31:44 · 343 阅读 · 0 评论 -
判断文件或文件夹(目录)是否存在 C/C++ win/linux通用
一、windows下使用_access()或linux下使用access()函数windows下使用_access()函数所在头文件:<io.h>函数原型:int _access(const char* _Filename, int _AccessMode);_Filename:文件或文件夹(目录)路径,可为绝对路径、相对路径;_AccessMode:指定判断的模式,包含4种;_AccessMode=00 表示只判断是否存在_AccessMode=02 表示文件是否可执行_原创 2021-07-09 22:12:35 · 7158 阅读 · 5 评论 -
vs编译报错C1020: 意外的 #endif
生成vs项目解决方案时出现了错误如下:C1020: 意外的 #endif普遍解决方案 各种百度,给出的解决方案都是在.cpp文件第一条语句加:#include “stdafx.h”, 报错写法:#include "cv.h"#include "cxcore.h"#include "h原创 2021-07-08 12:53:30 · 4175 阅读 · 0 评论 -
#pragma once用法总结
1.#pragma once这个宏有什么作用? 为了避免同一个头文件被包含(include)多次,C/C++中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式。 在能够支持这两种方式的编译器上,二者并没有太大的区别。但两者仍然有一些细微的区别。 2.两者的使用方式有何区别? 示例代码如下: 复制代码 //方式一: #ifndef &nb...转载 2021-07-08 10:27:31 · 603 阅读 · 0 评论 -
auto关键字详解 C++
C++98 auto 早在C++98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期,这是多余的,因为就算不使用auto声明,变量依旧拥有自动的生命期:int a =10 ; //拥有自动生命期auto int b = 20 ;//拥有自动生命期static int c = 30 ;//延长了生命期 C++98中的auto多余且极少使用,C++...转载 2021-02-22 21:42:03 · 356 阅读 · 0 评论 -
C++——String类超详细介绍
(欢迎及时指正错误!谢谢)STL的含义:标准模板库STL的内容:容器:数据的仓库 算法:与数据结构相关的算法、通用的算法(和数据结构无关)注:熟悉常用的算法 sort reverse迭代器:算法和容器的连接 适配器:类似于转接线,苹果线要连接安卓线容器:序列式容器(线性结构)string:arra...转载 2020-09-14 14:52:47 · 426 阅读 · 0 评论 -
time.h中的相关计时函数time,localtime,clock等详解
C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,..转载 2020-08-15 19:48:49 · 3290 阅读 · 0 评论 -
在windows下配置pthread多线程
Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的windows平台下进行pthread-w32的安装,在网络上有类似的文章,但是讲的都是比较老的平台,在windows8下支持并不全面,不过可以作...转载 2020-07-06 20:48:55 · 679 阅读 · 0 评论 -
memset()函数用法及其作用
memset()函数原型是:extern void *memset(void *buffer, int c, int count) //buffer:为指针或是数组, //c:是赋给buffer的值, //count:是buffer的长度.这个函数在socket中多用于清空数组.如:原型是:memset(bu...转载 2020-07-01 09:47:59 · 971 阅读 · 0 评论 -
raw格式图片读取与显示C++,opencv
raw格式图片读取与显示程序实现,通过C++结合opencv实现。原创 2020-04-29 19:58:42 · 7949 阅读 · 0 评论 -
C++读写二进制文件
C++读写二进制文件,代码如下:#include <iostream>#include <fstream>#include <ostream>using namespace std;void main(){ char *res = (char *)malloc(2000000 * sizeof(char)); int num_res = 0;...原创 2020-04-26 19:44:20 · 447 阅读 · 0 评论 -
C++读取文件名,过滤文件路径及后缀
给定一个字符串,比如char *str = C:\Users\Documents Files\2020-04\12345.bmp; 提取文件名“12345”,代码如下string path = str;int ps = path.find_last_of("\\"); int pe=path.find_last_of("....原创 2020-04-25 20:00:50 · 2040 阅读 · 2 评论 -
vector,数组,动态数组效率测试
对vector、数组、new创建的动态数组、预先reverse的vector测试代码如下:#include <iostream>#include <vector>#include <time.h>#include <windows.h>#define QueryFreAndCounter(m_fre,tt) QueryPerformanc...原创 2020-02-26 11:23:28 · 1230 阅读 · 0 评论 -
获取系统时间精确到毫秒级C++代码实现
#include <windows.h>//必须包此头文件#include<iostream>using namespace std;in...转载 2020-01-08 20:49:30 · 1162 阅读 · 0 评论 -
QueryPerformanceFrequency用法--Windows高精度定时计数
在多核心或多处理器的计算机上,特别是在支持CPU频率动态调整的计算机上,windows系统下的QueryPerformanceFrequency()获取HPET(如果存...转载 2020-01-08 17:34:06 · 1566 阅读 · 0 评论 -
c++ 判断文件夹是否存在,不存在则创建(可建多级目录)
...转载 2019-12-19 12:00:33 · 3199 阅读 · 2 评论 -
C++ char 与uchar区别
char 是有符号的 。unsigned char 是无符号的,里面全是正数 。两者都作为字符用的话是没有区别的,但当整数用时有区别: char 整数范围为-128到127( 0x80__0x7F), 而unsigned char 整数范围为0到255( 0__0xFF ) 有时候想把整数数值限在255范围内,也用unsigned char,这个类型在嵌入式用的多...转载 2019-11-29 15:37:33 · 1613 阅读 · 0 评论 -
std::max,std::min错误:应输入标识符的解决方法
文章内容如题,主要提供 std::max,std::min错误:应输入标识符的解决方法原创 2019-11-27 10:54:49 · 21082 阅读 · 1 评论 -
error LNK2019: 无法解析的外部符号,该符号在函数 _main 中被引用的解决方法
文章对“error LNK2019: 无法解析的外部符号,该符号在函数 _main 中被引用”的原因进行分析,并提供了解决方法。原创 2019-09-02 15:18:50 · 53681 阅读 · 9 评论 -
多维数组与指针之间的关系详解
先介绍一下简单的一维数组:列如:int a[3] = {0,1,2};[3]和类型int则明确表示编译器应该为这个栈分配多大的内存,也就是三个int大小!在内存中示意图是:在CPU看来内存是一组连续的地址空间,所以当我们对一维数组进行操作时只需要知道数组首地址,就可以通过地址偏移加减运算方式来求得每个元素位于内存中的文件映射出来的数据段虚拟地址!不过要注意不要越界,其实你...转载 2019-06-19 21:01:26 · 244 阅读 · 0 评论 -
Mat,Iplimage,vector,vector_vector_Point2f等类型之间的相互转换
在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下。(注意加相应的头文件,这里不罗嗦)提纲:1. Mat ---> Iplimage2. Iplimage ---> CvvImage3.&...转载 2019-06-19 20:22:42 · 1943 阅读 · 0 评论 -
char和uchar区别
char和uchar区别 char 是有符号的, uchar(unsigned char)是无符号的! 1、作为字符来表示的话,两者没有什么区别!2、作为整数来表示的话,由于char是有符号的,于是数值范围为-12...转载 2019-06-19 14:50:57 · 32983 阅读 · 0 评论 -
C++动态链接库dll及静态链接库lib制作及使用教程
网上看了好多博客教程,说的都不够全面,自己制作出来的dll不能用,现提供一个很有用的视频,亲测有效,启发很大,附上链接:[视频教程](https://edu.51cto.com/course/8109.html)...原创 2019-06-05 17:34:57 · 1183 阅读 · 0 评论 -
char*,const char*,string的相互转换 C++
转:https://www.cnblogs.com/wxmdevelop/p/4567857.htmlstring转const char*string s =“abc”;constchar* c_s = s.c_str();const char转string直接赋值即可constchar c_s =“abc”;string s(c_s);string转char*str...转载 2019-05-23 17:11:43 · 191 阅读 · 0 评论 -
OpenCV中 Mat 按行或按列合并程序
按行合并#include <opencv2/opencv.hpp> #include <iostream> using namespace cv;using namespace std;Mat mergeRows(Mat A, Mat B){ CV_ASSERT(A.cols == B.cols&&A.type() == B....原创 2019-04-23 20:50:43 · 985 阅读 · 0 评论 -
三维空间点进行空间平面拟合原理及MATLAB和C++代码实现
平面拟合原理参考网页:https://blog.csdn.net/duiwangxiaomi/article/details/89246715MATLAB实现参考网页:https://blog.csdn.net/duiwangxiaomi/article/details/89238969C++代码实现,包括测试数据,vs2013结合OpenCV2.4.13:#include <...原创 2019-04-15 16:21:52 · 4900 阅读 · 0 评论 -
C++ OpenCV创建xml,yml文件(图像)列表程序
最近在学习关于相机标定的程序,标定时需要将图片打包成XML YML TXT格式,下面贴出生成xml图像序列的程序,同样适用于yml,记录一下,欢迎讨论~#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include <string>#include <iost...原创 2019-04-01 11:30:10 · 661 阅读 · 2 评论 -
处有未经处理的异常:0xC0000005 : 读取位置 0x00000000 时发生访问冲突。
转 首先排除一种小概率事件就是系统冲突导致的,比如系统盘目录存在类似的第三方库文件,程序运行将崩溃,并报错0xC0000005 : 读取位置 0x00000000 时发生访问冲突。上面的意思就是你吧值付给了不该赋给的变量,或者说你把值付给了不能付给的变量(或者常量)(1)最简单也最直接的错误可能就是scanf()的问题,我们都知道输入的时候都是scanf("%格式",&变量),那...转载 2019-06-20 14:34:55 · 46527 阅读 · 8 评论 -
OpenCV中图像Mat,二维指针和CxImage类之间的转换
在做图像处理中,常用的函数接口有Opencv中的Mat图像类,有时候需要直接用二维指针开辟内存直接存储图像数据,有时候需要用到CxImage类存储图像。本文主要是总结下这三类存储方式之间的图像数据的转换和相应的对应关系。一、OpenCV的Mat类到图像二值指针的转换以下为函数代码:unsigned char** MatTopImgData(Mat img){ //获取图像参...转载 2019-06-20 20:01:22 · 815 阅读 · 0 评论 -
丢失msvcr120d.dll、msvcr120.dll、msvcp120d.dll、msvcp120.dll问题解决方法
问题描述 运行程序时出现如下错误:还有丢失msvcr120d.dll、msvcr120.dll、msvcp120.dll等问题,不一一列出图片了。说明: msvcp120d.dll是微软vc组件的一个重要dll文件,缺少或损坏它可能会造成部分软件或游戏无法正常运行。解决方案 &nbs...原创 2019-08-01 21:17:24 · 2615 阅读 · 0 评论 -
otsu算法原理及C++代码实现-寻找灰度图片中最佳阈值
otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰...转载 2019-07-22 11:27:38 · 1012 阅读 · 0 评论 -
error C2733: 不允许重载函数的第二个 C 链接
文章主要提供“error C2733: 不允许重载函数的第二个 C 链接”的原因分析及解决方法。原创 2019-07-11 10:21:10 · 13885 阅读 · 0 评论 -
OpenCV求逆(伪逆)矩阵函数
转自 double invert(InputArray src, OutputArraydst, int flags=DECOMP_LU); 功能:用以求取一个矩阵的逆或者伪逆。 src: 输入,浮点型(32位或者64位)的M×N的矩阵,当参数3的使用方法为DECOMP_CHOLESKY DECOMP...转载 2019-07-05 17:10:33 · 5504 阅读 · 0 评论 -
vs中.exe运行闪退的解决办法
用VS写c/c++程序,运行结果框总是会一闪而退,根本看不到程序运行的结果,真是令人烦躁,那么现在,我就告诉大家三个解决办法,希望能帮到大家方法一: 在return 0;语句前加一个getchar();语句,getchar会一直等在输入,程序运行结果框就正常显示运行结果了。如下图所示&...转载 2019-06-29 11:03:10 · 10063 阅读 · 3 评论 -
【OpenCV】将单通道的Mat对象转换为三通道的Mat
在项目中遇到一个问题,调用别人编好的库需要传入三通道的彩色图像。但是我的图像经过处理后已经是二值化的图像了,所以得想想办法了。 分析:三通道的彩色图像就是R,G,B三个通道,那么将我的单通道黑白图复制三份merge一下,不就是一张三通道图像了嘛,只不过有颜色只有黑白,实验了一下果然可以用了。 代码实现:/**************************************//...转载 2019-06-27 10:46:14 · 2130 阅读 · 0 评论 -
图像指针与矩阵格式转换——Mat转uchar*及uchar*转Mat代码实现
本篇文章实现RGB3通道图像Mat转uchar*及uchar*转Mat,代码及实验结果如下:#include <opencv2/opencv.hpp>using namespace std;using namespace cv;/**将Mat类型的数据转换为uchar类型*/uchar* matToUchar(Mat img){ int img_width = im...原创 2019-06-24 11:03:09 · 5219 阅读 · 5 评论 -
c++创建包含opencv的dll供C,C#调用
转 最近,接到了一个小任务,就是创建一个c++的dll,供c#调用。dll又称动态链接库,其好处有很多,主要提供接口,供项目调用。其中,要写一个函数,输入一张图片的路径,之后显示图像,并返回字符串,成功打开图像,返回“open”,失败则返回“cannotopen”。但是在编写过程中也出了一些问题,当参数以及返回值类型为string时,c#端会报“访问受保护的内存”,查了很多的相关资...原创 2019-07-02 11:06:10 · 1666 阅读 · 5 评论 -
C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)
读取指令路径下的所有文件,程序如下:#include <io.h>#include < fstream>#include < string>#include <vector>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;//读入...原创 2019-03-30 14:28:03 · 5790 阅读 · 5 评论