![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 53
_yuan_
这个作者很懒,什么都没留下…
展开
-
valgrind:内存泄漏 memory leak 调试教程
valgrind:内存泄漏 memory leak 调试教程原创 2022-07-11 10:22:02 · 741 阅读 · 0 评论 -
Makefile使用小结
Makefile使用小结原创 2020-03-19 21:26:00 · 715 阅读 · 0 评论 -
/usr/bin/ld: cannot find -lxxx解决办法
/usr/bin/ld: cannot find -lxxx解决办法转载 2022-05-04 22:13:48 · 1015 阅读 · 0 评论 -
c++中nan,inf 详解
参考c++中nan,inf详解_sunyoop的博客-CSDN博客_c++ nanc++ isnan和isinf_明夷TEC的博客-CSDN博客_c++ isnanC++ std::isnan等函数的使用_ccf19881030的专栏-CSDN博客_c++ isnanisfinite()测试某个浮点数是不是有限的数isfinite(float x);isfinite(double x);isfinite(long double x);isinf()测试某个浮点数是否是无限...转载 2022-03-02 16:29:28 · 786 阅读 · 0 评论 -
C++ unsigned int 和 int 混用的问题
参考C++ unsigned int 和 int 混用的问题_MingJ的博客-CSDN博客_c++unsigned int总结在c++里面,如果一个表达式里面同时有 unsigned int 和 int ,执行的时候会尝试把 int 转成 unsigned int。- 这个时候如果int的值是非负的,执行的结果当然和预期一样- 但是如果int的值是负数,它的值就变成unsigned int的最大值 + 原值 => 其实是C++类型转换的锅,如果是int转unsigned,就会用u转载 2022-03-02 14:44:28 · 597 阅读 · 0 评论 -
std::unique_ptr<>
参考C++ 智能指针 unique_ptr 详解与示例_彼此当年少,莫负好时光-CSDN博客_c++ unique_ptrnew出来的对象是位于堆内存上的,必须调用delete才能释放其内存。unique_ptr 是一个装指针的容器,且拥有关联指针的唯一所有权,作为普通变量使用时系统分配对象到栈内存上,超出作用域时会自动析构,unique_ptr对象的析构函数中会delete其关联指针,这样就相当于替我们执行了delete堆内存上的对象。成员函数 作用 reset() 重置转载 2022-03-02 14:36:45 · 565 阅读 · 0 评论 -
std::deque的使用
std::deque的使用转载 2022-02-23 20:19:58 · 257 阅读 · 0 评论 -
c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法
原文链接:https://blog.csdn.net/u014489596/article/details/42124595 最近项目中需要实现一个服务器宕机后短信提醒的功能,个人觉得在使用python 写http请求这块很方便,发短信这块就使用了python,但是c++程序中调用这个脚本时,编译不通过,提示如下错误:error LNK2001: 无法解析的外部符号 __i...转载 2018-11-06 09:53:35 · 4405 阅读 · 2 评论 -
解决警告——有符号 无符号不匹配
解决警告——warning C4018: “<”: 有符号/无符号不匹配今天遇到这个问题,虽然不影响程序运行,但作为完美主义者,有警告总感觉不舒服,所以就查了一下解决方法:出错代码:for(int j=0;j<detector.size();j+...转载 2018-11-14 19:43:57 · 18025 阅读 · 4 评论 -
在 Windows 上的 Visual Studio 中使用 Python
链接:https://docs.microsoft.com/zh-cn/visualstudio/python/overview-of-python-tools-for-visual-studio?view=vs-2017转载 2018-11-09 20:42:36 · 463 阅读 · 0 评论 -
PDB文件
原文:https://blog.csdn.net/u013346007/article/details/80830836 PDB(Program Data Base),程序的基本数据,是VS编译链接时生成的文件。DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件...转载 2019-04-20 10:26:54 · 190 阅读 · 0 评论 -
内存泄露 和 内存溢出
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的...转载 2018-11-14 15:19:20 · 149 阅读 · 0 评论 -
.h(头文件) .lib(库文件) .dll(动态链接库文件) 之间的关系和作用的区分
lib是静态库,dll一般是动态链接库(也有可能是别的)比如要编译个exe,lib在编译的时候就会被编译到exe里,作为程序的一部分而dll是不被编译进去,是运行的时候才调入的(可能是exe刚运行就调入,也可能运行了一半才调入)用法,lib需要个.lib文件和一个.h文件,程序正常使用.h的函数,在链接选项里加入.lib文件就okdll用法有2种,一是 .h + .lib + .dll的,用...转载 2018-11-08 19:45:39 · 4237 阅读 · 0 评论 -
VS 2015 安装使用
vs community 2015 许可证已过期的问题登录 Microsoft账号 即可免费试用。原文https://blog.csdn.net/qq_19678579/article/details/76692822vs2015 企业版、专业版(注册)一、注册序列号企业版HM6NR-QXX7C-DFW2Y-8B82K-WTYJV专业版HMG...转载 2019-07-10 16:23:31 · 285 阅读 · 0 评论 -
C++编写Python模块----相关设置
参考:创建适用于 Python 的 C++ 扩展https://docs.microsoft.com/zh-cn/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017Extending Python with C or C++https://docs.python.org/2.7...转载 2018-11-09 21:11:09 · 871 阅读 · 0 评论 -
C++编写DLL
原文链接:http://liyanblog.cn/articles/2012/09/17/1347848492579.html虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型 使用 V C++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有...转载 2018-11-08 17:49:22 · 2175 阅读 · 0 评论 -
.hpp与.h的区别
.hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该.hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用project中的cpp文件数与编译次数,也不用再发布lib与dll文件,因此非常适合用来编写公用的开源库。hpp的优...转载 2018-11-14 16:12:11 · 321 阅读 · 0 评论 -
VS 2015 使用总结
1. 折叠/展开Ctrl + M + M: 折叠或者展开当前方法CTRL + M + O折叠代码CTRL + M + L展开代码2.显示行号选择“工具”-“选项”,选择文本编辑器,C/C++, 找到“行号”并勾选;...转载 2019-07-10 17:36:51 · 348 阅读 · 0 评论 -
关于#pragma once
#pragma once是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 #pragma once是编译器相关的,有的编译器支持,有的编译器不支持,具体情况请查看编译器API文档,不过现在大部分编译器都有这个杂注了。 #ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免...转载 2018-11-08 11:25:43 · 4683 阅读 · 0 评论 -
包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
参见:https://blog.csdn.net/u012043391/article/details/54972127转载 2018-11-23 19:13:58 · 160 阅读 · 0 评论 -
__declspec用法
原文链接:https://blog.csdn.net/zhangzq86/article/details/52982939 修饰函数 关键字 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和 C++语言的ANSI规范,而__declspec是一种...转载 2018-11-08 20:49:54 · 10917 阅读 · 0 评论 -
#pragma用法详解----编译指示
来自:https://blog.csdn.net/z215367701/article/details/78359179 Pragma-编译指示(0)前言 #Pragma 指令的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma 指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操...转载 2018-11-08 20:53:54 · 379 阅读 · 0 评论 -
DLL文件-编写与实现
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件...转载 2018-11-08 18:02:00 · 693 阅读 · 0 评论 -
C 代码中嵌入 Python 语句或使用 Python 模块 (Visual Studio 2013 环境设置)
原文链接:https://www.cnblogs.com/gaowengang/p/8529230.html1) 新建一个 内嵌 Python 语句的 C 代码, // This is a test for check insert the Python statements or module in C.#include "Python.h"int main(void){...转载 2018-11-05 21:09:29 · 185 阅读 · 0 评论 -
C++调用python相关配置
总结一下自己的配置过程:1.附加库目录:项目->属性->链接器->常规->附加库目录 中加入动态库路径D:\Panda3D-1.9.4-x64\python\libs;2.附加依赖项:项目->属性->链接器->输入->附加依赖项 中加入python27_d.lib路径D:\Panda3D-1.9.4- ...原创 2018-11-06 13:51:42 · 1799 阅读 · 0 评论 -
C++中sleep()函数
标准库中无sleep函数,但在某些编译系统中是有的,在有些系统库中也有,要根据环境而定。如:linux中有,unsigned int sleep(unsigned intseconds),传入挂起时间,成功返回0,不成功则返回余下的秒数(这里sleep(1),暂停1s)。windows系统中有Sleep函数(注意大写),void Sleep(DWORD dwMilliseconds);提供...转载 2019-04-18 20:08:35 · 22163 阅读 · 0 评论 -
Visual Studio IDE 使用指导
官方文档链接:https://msdn.microsoft.com/zh-cn/library/dn762121.aspx目录:原创 2018-11-05 15:01:38 · 607 阅读 · 0 评论 -
Debug与Release区别详解
转:https://blog.csdn.net/ithzhang/article/details/7575483 Debug与Release不同的问题在刚开始编写代码时会经常发生,99%是因为你的代码书写错误而导致的,所以不要动不动就说系统问题或编译器问题,努力找找自己的原因才是根本。我从前就常常遇到这情况,经历过一次次的教训后我就开始注意了,现在我所写过的代码我已经好久没遇到这种问题了。...转载 2018-11-09 17:06:58 · 262 阅读 · 0 评论 -
C++堆内存和栈
C++堆内存和栈内存详解_奔跑的香蕉-CSDN博客_c++堆内存和栈内存的区别C++:堆和栈的概念及区别_zldz14的博客-CSDN博客_c++ 堆和栈的区别C/C++堆和栈的区别-zhjl616-ChinaUnix博客C++堆和栈的区别和联系_yangyongUestc的博客-CSDN博客_c++堆和栈...转载 2022-01-21 15:22:41 · 271 阅读 · 0 评论 -
ROS日志级别控制
ros日志输出路径ros节点日志文件输出到~/.ros/log文件夹。可以通过修改环境变量(ROS_HOME 或者 ROS_LOG_DIR )来修改路径。但与具体工程无关。如果使用roslaunch启动程序,可以通过roslaunch-logs命令指定日志的输出路径。ros日志显示输出的级别DEBUG:输出程序正常运行需要的信息Information that you never need to see if the system is working properly. Exampl原创 2022-01-18 11:09:16 · 2717 阅读 · 0 评论 -
MatrixXf使用:根据输入数据,动态指定矩阵大小
如何根据输入数据,动态指定矩阵大小方法1:在矩阵定义时根据数据大小指定矩阵大小,形如:const int NUM = (int)data.size(); Matrix<float,8,NUM> routeN; 不可行,见testMatrixXf_1()分析,如下:int testMatrixXf_1(){ std::vector<float> data = {1,2,3,4}; const int NUM = (int)data.size();//‘NUM’ ..原创 2022-01-13 19:41:35 · 1844 阅读 · 0 评论 -
C++/C中const的区别 - 不同初始化方式对C++中const量性质的影响
1. C语言中被const修饰的叫常变量#include <stdio.h>void main() { const int v; //ok}C语言中,const修饰的量可以不初始化,但是之后再想修改就不能修改了。但是他始终是被当作一个变量看待的,比如:void main() { const int n = 100; int arr[n] = { }; //error}这里报错是因为C语言中,即使名字前面有个‘常’字,但是它终归是个变量,不能用在应该使.原创 2022-01-08 20:34:16 · 909 阅读 · 0 评论 -
vector使用
vector使用转载 2021-08-20 20:22:13 · 166 阅读 · 0 评论 -
C/C++:enum与int的相互转换
如何正确理解enum类型?例如:enumColor{red,white,blue};Colorx;我们应说x是Color类型的,而不应将x理解成enumeration类型,更不应将其理解成int类型。我们再看enumeration类型:enumColor{red,white,blue};(C程序员尤其要注意!)理解此类型的最好的方法是将这个类型的值看成是red, white和blue,而不是简单将看成int值。C++编译器提供了Colo...转载 2021-08-20 20:15:53 · 11836 阅读 · 0 评论 -
C++小知识点集——相关博客
1.C/C++中static的用法全局变量与局部变量 https://www.cnblogs.com/33debug/p/7223869.html转载 2021-07-28 15:52:38 · 122 阅读 · 0 评论 -
c++可变长度对象(vector,map)作为struct成员
以前,C语言写结构体时。结构体成员都是基本类型,比如int、char、double之类的,最多也就里边再套一个结构体成员,但它们都有一个特点。它们的大小是固定的,我不会有这样的担心。但是,我接触到string、vector这些类类型时,根据它们的特性:它们能动态扩充,就是你来多少内容,我都能存的下! 然后,我就想:那它们的变量大小是不是也扩充了,那是不是也导致所处的结构体的变量的大小也改变了呢? 因此,我查了下书。找到了答案:总结一下,简单来说就是,这些动态可变更存储长...转载 2021-06-16 14:52:29 · 1770 阅读 · 0 评论 -
c++之超前引用(头文件相互包含)
定义:超前引用是指一个类型在定义之前就被用来定义变量和声明函数。一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类A中类B的对象指针,但是类B中也同时包含类A的对象.类A.h头文件定义如下:#ifndef A_H#define A_Hclass B;class A{ int i; B *b;}类B.h头文件定义如下:#ifndef B_H#define B_H#include &l...转载 2021-06-16 11:47:22 · 1283 阅读 · 0 评论 -
Cmake语句find_package()函数
参考:Cmake语句find_package()函数https://blog.csdn.net/sen873591769/article/details/90183015深入理解CMake(3):find_package()的使用https://www.jianshu.com/p/39fc5e548310find_package()函数https://blog.csdn.net/fb_941219/article/details/88526157背景如果我们在cmake某...转载 2021-05-27 21:43:39 · 1225 阅读 · 0 评论 -
catkin:: 解决find_package(catkin) failed.
背景:不安装ros的情况下,使用catkin进行项目工程管理。一种方法是 直接将catkin package放到项目工程中,这样每个工程都要复制一个,太麻烦。另一种方法是,安装catkin及其依赖项。但可能是ros未安装的原因,cmake .. 时总是找不到catkin,以下是解决方法。问题描述:源码make install安装完catkin之后,在工程文件中输入指令:mkdir build cd buildcmake ..报错如下:解决流程这个报错来自于最外层原创 2021-05-27 19:12:42 · 6137 阅读 · 2 评论 -
C++ enum类型转换为string
enum类型的值为int类型,如:enum ElemName { People, Tree, Car, Text, Cave, QRcode, Pillar };,其中People的值是0,Tree的值是1,Car的值是2,以此类推…可以理解为布尔类型(True=1,False=0)的扩展.现在想获取各个值对应的名称,即string类型的"People","Tree","Car",...可以采用如下方法:enum ElemName { People, Tree, Car, Text, .转载 2021-05-26 18:31:31 · 4285 阅读 · 1 评论