
C/C++
文章平均质量分 75
萝呆子
成长,带来人生体悟,我喜欢追逐。
展开
-
mediapipe示例运行
1、安装ubuntu18.042、安装环境sudo apt-get install gitsudo apt-get install python3sudo apt-get install python3-pippip3 install numpysudo apt-get install libegl1-mesa-devsudo apt-get install libgles2-mesa-dev3、安装bazel3.7.24、...原创 2021-11-16 14:58:36 · 2892 阅读 · 0 评论 -
基于Win10+VS2017+OSG3.6.5,使用Qt编写OSG示例
环境依赖1、此demo环境依赖上篇文章:基于Win10+VS2017的OSG3.6.5编译部署,未部署开发环境的请先参照前文进行部署。2、安装Qt编写程序配置运行原创 2021-07-22 00:31:25 · 609 阅读 · 0 评论 -
基于Win10+VS2017的OSG3.6.5编译部署
编译前工作:1、Windows10系统2、CMake(最新版)3、VS2017(osg官网配套第三方库,最高只能到这个ban'b原创 2021-06-12 16:35:54 · 951 阅读 · 3 评论 -
根据起始点经纬度、方向、距离,计算目标点经纬度
以为有公式,百度不到,谷歌的看不懂(再次强调英文重要性),咬牙自己算,就当做小学数学题了。#include <iostream>#include <math.h>using namespace std;#define PI 3.14159265358979323846264338327950288static bool status = false;/** 起始点为 A,终点为 B,标出点 C(与 A 点同经度,与 B 点同纬度)* A、B 间空间原创 2020-09-03 11:14:37 · 4303 阅读 · 2 评论 -
VC++ 使用内存泄漏工具 VLD
在有源码的情况下,VS 可以使用此工具,扫描代码中产生泄露的具体行数。对于内存泄漏,一般只处理循环泄漏,对于仅泄漏一次的代码是不用管的。使用方法:一、对于 VS2015 及之前的版本,可以直接下载安装包,安装后,拷贝安装路径中的 .h 文件,lib 文件,dll 文件到工程目录下,配置好后,直接用,如果想生成内存泄漏报告 memory_leak_report.txt,.ini 文件中,ReportTo 设置为 both。下载网址如下图所示:安装完毕,所需文件如下所示:二、对于原创 2020-08-19 17:30:28 · 388 阅读 · 0 评论 -
VC++拷贝处于占用状态的文件
#include <stdio.h>#include <stdlib.h>#include <Windows.h>#include <string>using namespace std;#define WLEN 256ULONGLONG* GetFileClusters(LPCWSTR lpFileName, ULONG ClusterSize, ULONG* ClCount, ULONG* FileSize){ HANDLE .转载 2020-08-19 16:17:20 · 477 阅读 · 0 评论 -
MFC对话框标题栏禁止拖拽
背景:原有代码里,点击按钮,弹出一个浮动的对话框,连续多次快速点击标题栏,同时拉动标题栏,此对话框会被拖动,并被改变大小。没做过MFC,于是找度娘求了一上午奶,味道不怎么好,但好歹解决了。。。.h文件afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);LRESULT OnNcHitTest(CPoint point);.cpp文件BEGIN_MESSAGE_MAP(MeetingFullScreenDlg, CDialog原创 2020-07-01 14:42:52 · 795 阅读 · 0 评论 -
问题:C++子类能否访问父类私有成员变量?
在此之前,需要先了解下C++的继承机制。 计算子类对象大小时,也将父类私有成员变量所占大小计算在内,也就是说,子类继承父类时,也将父类私有成员变量继承了过来,只是对子类不可见,不可操作。 可以做一个实验进行检验://FClass.h#pragma onceclass FClass{public: FClass(); virtual ~FC...原创 2019-11-26 11:25:54 · 27152 阅读 · 5 评论 -
vs默认设置代码文件保存为UTF-8
VS这小娘们儿时不时地犯神经,碰到了免不了腹诽一下微软那个产品经理(虽然我很希望和他做同事),比如你加个中文注释,就会因为文件编码保存格式不支持而编译出错。 于是又找度娘求奶,虽然会翻墙,但还是习惯先搜中文答案(我不会承认自己英语不好的)。果然不出所料,千篇一律的说“文件->高级保存选项->保存为UTF-8”,真真讨厌自己英语不好了。。。 哎!重要的事情说一...原创 2019-11-22 16:43:07 · 7713 阅读 · 3 评论 -
vs2017使用google开源日志库glog
吭呲了俩小时搞定,这效率真够可以的。扒一堆博客,个个写的都不爽利。预备:vs2017、cmake、glogcmake安装文件去官网找,个人下载的msi文件直接安装的,安装时默认是不添加到环境变量,修改为为所有用户添加到环境变量。本地安装完成后,cmd查看:cmake --version。glog从github下载。glog文件夹下打开cmd,依次命令:cmake .cmak...原创 2019-10-30 11:35:52 · 1502 阅读 · 0 评论 -
vs创建dll并使用
前言:学习做个记录,积小流以望江海。新建空工程(省事,好控制),win32 console application 或者 win32 project 都可以,添加 .h 文件,.cpp 文件,.def 文件。简单,纯小白看下图。键入代码://mydll.h#pragma once #define DLL_EXPORT __declspec(dllexpo原创 2017-06-07 12:16:37 · 511 阅读 · 0 评论 -
像素的存储方法、显式创建Mat对象的七种方法
背景:有一个项目,使用工业相机采集图像,然后进行处理。图像采集出来后需要经opencv转化并由第三方库进行处理。由于相机自带的图像数据结构与opencv的IplImage和Mat都不相同,仅所以需要创建一个Mat对象,来存储相机采集出的像素信息。找到了下面这篇文章。使用方法二。一、像素的存储方法: 存储像素值需要指定颜色空间和数据类型。其中,颜色空间是指针对一个给定的颜色,如何组转载 2017-10-16 15:39:47 · 443 阅读 · 0 评论 -
c++定义结构体队列
最近写概要设计头有点大,写点博客轻松下。。c++队列是一种容器适配器,创建一个线性int型队列如:queue> q;或双向int型队列:queue>;如果是结构体或者类,把int替换掉就行。整个例子看下:#include #include using namespace std;struct MyStruct{ int num;};//c++里,结构体和类几乎等同作用。习惯原创 2017-10-26 15:02:52 · 12180 阅读 · 0 评论 -
error C2143: syntax error : missing ')' before '*'
碰到一个问题,记录下。像这种问题一般会想到程序漏写了什么。。不过有时错误提示的地方是第三方库的cpp文件,这样就是其他问题了。。解决办法(之一,我碰到的):引用第三方库之前,先引用需要引用的头文件。。原创 2017-11-28 15:47:37 · 12358 阅读 · 0 评论 -
push进队列的C2075错误
碰到了一个问题,记录下。代码如下所示://source.h#include using namespace std;typedef int ARR[500];queue arr;//source.cpp#include "source.h"#include int main(){ ARR _arr; arr.push(_arr原创 2017-11-27 17:35:43 · 1366 阅读 · 0 评论 -
第一个回调函数示例工程
先来看一个函数指针用例://cb.htypedef void (__stdcall *CBTest)(int n);void __stdcall ShowNum(int n, CBTest cbTest);//cb.cpp#include "cb.h"#include <stdio.h>void __stdcall ShowNum(int n, CBTest cb...原创 2018-01-04 14:53:13 · 271 阅读 · 0 评论 -
c++ 无限的生产者消费者
有这样一种情况,要无限的生产,伴随着无限的消费。类似生产者消费者模式。水平太次,一直没有弄出来。后来才恍然大悟,原来答案近在眼前。这是一个演示无限生产消费的例子。没有解释,不是高冷,实在是怕说错,想要学习多线程,请参考morewindows大神的多线程系列。#include #include #include #include #include #include u原创 2017-12-24 22:57:04 · 353 阅读 · 0 评论 -
释放队列元素包含的指针指向的区域问题
先看程序:#include #include #include #include using namespace std;bool DESTRUCT = true;struct IMG{ char *img; int size; IMG(){} ~IMG(){ printf("%s", this->img);原创 2018-02-02 14:05:12 · 872 阅读 · 0 评论 -
c#调用c++ dll。c++回调c#函数
墨迹了一天,终于弄出来了,记录下。一开始我是这样写的:第一个红方框中代码不注释可执行,第二个不注释执行到第二次循环时提示超出边界。做联合调试一直改不成功,后来将函数接口直接放入回调实现中,可行。改动如下:其中联合调试需要改动c#工程属性,如下所示:...原创 2018-03-14 15:14:11 · 771 阅读 · 0 评论 -
C#和C++联合调试时的小问题
今天调试代码时碰到一个小问题,编译都通过了,debug时弹出一个框,提示:The debugger does not support debugging managed and native code at the same time on this platform.这是啥?表示蒙B。我对C#不熟,喊来C#的同事过来看下。原来是平台问题。只需要打开C#工程属性页,在build上,将 AnyCpu...原创 2018-03-27 11:37:27 · 870 阅读 · 0 评论 -
linux下启动kafka
前记:墨迹了几天,仍是云里雾里。记录下kafka启动过程,适合傻瓜新手,想弄明白原理的请绕到官网查看文档。1、首先下载从github上下载 源码。如果机器上装有Git,直接clone更好,省的再解压。解压命令:tar -zxvf librdkafka-master.tgz2、下载 lib库。然后解压。与源码置于同意文件夹下。两个版本二选一即可。解压命令:tar -zxvf ka...原创 2018-09-13 16:12:34 · 41141 阅读 · 1 评论 -
linux下C++编程学习
前言(废话,可略过):之前一直在windows下做C++编程,后来换后台工作接触到linux下C++开发。期间磨磨唧唧浪费了很多时间。记录下历程,给后来的小伙伴提个醒,免得浪费宝贵时间。一、关于换系统 如果windows下习惯了快捷键操作系统,尽可能少的使用鼠标,那么,linux就是你的理想。作为C++程序员,不会用linux真的是太糟糕了(很多地方看到这个观点,此处不做辩论...原创 2018-11-20 14:53:47 · 21899 阅读 · 12 评论 -
C++代码获取周几
#include <iostream>#include <string>#include <stdlib.h>#include <sstream>int month_to_day(int c){ switch(c) { case 11:c=334;break; case 10:c=304;break...原创 2019-08-16 16:03:26 · 2680 阅读 · 0 评论 -
C#获取带有汉字的char[]
前言:要实现一个功能,c#调用c++生成的dll里的函数,需要传入路径,但路径包含汉字。先废话一下,记录点知识。char[] 转 stringchar[] ch = {'a', 'b', 'c', 'd'};string str = new string(ch);string 转 char[]string str = "abcd";char[] ch = str原创 2017-07-10 16:10:20 · 1698 阅读 · 0 评论 -
vs连接mysql提示:无法解析的外部符号
渣渣级别程序员,越来越理解什么叫坑。。按照网上给的教程,一步步建工程,敲代码,最后提示:无法解析的外部符号巴拉巴拉。。一般出现这种状况都是找lib库目录有没有加,lib库有没有写上。磨磨唧唧找了一天,感叹于百度解决问题千篇一律的答案,越发的感觉翻墙的好处。无奈技术不行啊,又很穷,于是继续墨迹。最终啊哈哈~发现问题在于系统是win10 64位的,很好,配置很先进,值得骄傲(个屁啊)!mysq原创 2017-06-02 14:20:14 · 1282 阅读 · 0 评论 -
使用winsock2.h造成的重定义解决办法
一般调用windows.h或winsock2.h放置在调用winsock.h前或使用#define WIN32_LEAN_AND_MEAN以避免因重定义而发生的编译错误,有次在使用第三方库的时候,未引用windows.h,依然发生此错误。解决办法:在工程属性页里添入宏定义:#define WIN32_LEAN_AND_MEAN,如下所示:参考:http://www.cnblogs.原创 2017-10-09 11:44:33 · 818 阅读 · 1 评论 -
vs2008配置opencv2.4.0
之前自己电脑装的vs2015,配置opencv3.0成功。公司的电脑用的vs2008,只能寻找opencv的历史版本。 opencv2.4.0下载地址:https://pan.baidu.com/share/link?shareid=611155406&uk=3507468594&app=zd opencv的各个历史版本本来有个下载地址:http://opencv.org/do原创 2017-08-03 13:37:36 · 1480 阅读 · 0 评论 -
使用libtiff读tiff图RGBA四通道数据
资源链接:http://download.youkuaiyun.com/detail/fx_odyssey/9838235 下载libtiff源码后,新建win32空工程,将所有源码文件导入工程。新建cpp文件,键入代码:#include #include "tiffio.h"using namespace std;int main(){ TIFF *tifFile原创 2017-08-04 16:48:35 · 4022 阅读 · 0 评论 -
mysql加载的csv文件比表少一列的加载命令
我在mysql中创建了一个表,create table if not exists qrdata (urlstr varchar(64), numstr varchar(32), checkstr varchar(32));但是要加载的csv文件内容有的是三列,有的是两列,对于三列的,我是这样加载:load data infile 'f:/alldata.csv' into table qrd原创 2017-07-10 12:23:31 · 615 阅读 · 0 评论 -
C#调用C++编写的DLL函数, 以及各种类型的参数传递
1. 如果函数只有传入参数,比如:C/C++ Code Copy Code To Clipboard//C++中的输出函数int __declspec(dllexport) test(const int N){return N+10;}对应的C#代码为:C# Code Copy Code To Clipboard[DllImport("tes转载 2017-07-10 14:12:53 · 529 阅读 · 0 评论 -
二维字符串数组全局变量保存问题
前言:敲代码碰到的一个问题。背景是写一个dll,在里面有一个函数给作为全局变量的字符串数组赋值,另外一个函数读取字符串。一开始直接令其相等,但是被老员工训了,什么水平?!基础太次了吧!好吧,先一步步走着,争取早日不次。于是扒扒扒,也没扒到解决的方法。就一个人墨迹墨迹,寻思既然记录,肯定要占内存,所以要申请内存,这点是没错的。但是全局声明最多一维申请,那是不是要在函数里进行申请呢?动手!全局原创 2017-06-09 20:03:27 · 834 阅读 · 0 评论 -
C++创建名称带空格的文件夹
小知识记录。。#include #include int main(){if (access(".\\Download Pictures",0) )system("md \"Download Pictures\""); return 0;}原创 2017-06-09 09:17:27 · 1257 阅读 · 0 评论 -
general error c101008a: Failed to save the updated manifest to the file
碰到了,记录下把工程clean一下,再编译即可。转载 2017-06-08 15:46:15 · 384 阅读 · 0 评论 -
连接MySQL出现的一系列莫名其妙的问题
前言:水平很渣,在创建工程连接mysql总是出现一些莫名其妙的问题,网上也找不到解决办法,还好之前有过运行成功的工程,把属性设置所有界面全部记录下来,暂时充当菜鸟成功运行mysql相关程序的凭借吧。好丢人。。原创 2017-06-08 15:21:24 · 353 阅读 · 0 评论 -
vs2008 x64平台运行程序不成功
今天敲代码突然碰到一个问题,x64平台编译通过,但是运行不成功。试了一下 HelloWorld 程序依然不行,但是release下可以运行。错误提示如下:这是什么鬼?!好吧,度娘,I'm comming !虽然总是吐槽它,但是在目前的局域网下,也扔不了它。墨迹墨迹墨迹。。墨迹够了,找到出错地方,原来在新建x64平台的时候,不能复制win32。也就是图中的地方不能打勾!编译,运行,通过。。ove原创 2017-06-07 10:54:40 · 2897 阅读 · 1 评论 -
根据QR码API下载图片
前言(废话,可略过):网上有很多在线QR码的API,可以直接设置二维码的几个参数,点击链接即可在网页上看到一张二维码的图片。现在我想把它下载到本地。废话到此,上代码。。平台:win10、vs2008/****************************************************代码区*****************************************原创 2017-05-27 10:07:14 · 736 阅读 · 0 评论 -
使用tiff库写tiff黑白图
前言:我用的资源库为:http://download.youkuaiyun.com/detail/fx_odyssey/9838235,适用于vs2008。当然,网上的libtiff和此源码文件具有同样功能,下面的代码对两种资源库均适用。个人习惯能查看源码,网上提供的libtiff.lib看不了。 首先,vs2008创建win32空工程(vs其它版本也可以),将上述下载链接的所有程序文件导入工程。如原创 2017-08-04 16:05:01 · 2183 阅读 · 0 评论 -
Unhandled exception at 0x008f9b82 in .exe: 0xC0000005: Access violation reading location 0x00000298.
对于C++初学者或粗心者,很容易犯如下图所示错误:那么该错误是由什么造成的呢?答案无疑只有一个,即:读取了本该没有的值或者地址。那么如何解决呢?第一件事,检查下你传入的参数是否合法;第二件事,若malloc了一块内存,必须记得free;第三件事,你是否赋值了已经溢出的值或地址。举例说明:转载 2017-08-21 11:38:40 · 2388 阅读 · 0 评论 -
一个宏定义---OpenCV源码阅读之一
CVAPI(IplImage*) cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));看到这一行,发现 int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)不是太懂,于是看了一下CV_DEFAULT的定义: // Highgui.h中。#ifnd转载 2017-08-14 16:34:44 · 353 阅读 · 0 评论 -
一个关于mysql小问题的记录
mysql操作:创建qrdata2表:create table qrdata2 (id int unsigned not null AUTO_INCREMENT, urlstr varchar(64), checkstr varchar(32), ifwaste varchar(1), primary key(id));加载csv文件进去:load data local inf原创 2017-09-30 09:26:49 · 271 阅读 · 0 评论