
c++
农夫山泉2号
关于交流可以发邮件:778961303@qq.com
展开
-
【c++】——报错error: member ‘ConstString<126>::data’ must be initialized by mem-initializer in ‘constexpr
用gcc编译的时候会报错error: member ‘ConstString<126>::data’ must be initialized by mem-initializer in ‘constexpr。用clang,clang++编译器。原创 2025-03-21 17:14:25 · 208 阅读 · 0 评论 -
【工具】——VSCODE调试C++时无法显示Vector,map等容器的值
vscode 调试std::vector, std::map转载 2023-08-03 15:10:21 · 6612 阅读 · 1 评论 -
【问题 | 解答】——numpy这两计算结果为啥不一样/整数乘法与浮点乘法
这里主要的知识点就是:计算机原理中的**整数乘法和浮点数乘法**, 可以参考[https://blog.youkuaiyun.com/qq_42192693/article/details/89051707](https://blog.youkuaiyun.com/qq_42192693/article/details/89051707)看一下二进制的乘法是如何计算的。原创 2022-04-17 00:07:00 · 2348 阅读 · 0 评论 -
【c++】——类多继承的函数调用
c++, 多继承一个类继承自多个父类,且父类都有相同的函数,子类会调用那个父类的函数呢?code#include <iostream>using namespace std;//基类class BaseA{public: BaseA(int a, int b); ~BaseA(); void show() { cout << "in baseA" << endl; }protected: .原创 2022-04-14 21:27:10 · 1273 阅读 · 0 评论 -
【cmake】——config_file的使用
转载自:https://www.jianshu.com/p/2946eeec2489一、命令格式configure_file(input output options) 将一个文件(由input参数指定)拷贝到指定位置(由output参数指定),并根据options修改其内容。二、命令解析configure_file命令一般用于自定义编译选项或者自定义宏的场景。configure_file命令会根据options指定的规则,自动对input文件中cmakedefine关键字及其内容进行转换。.转载 2022-04-14 21:23:11 · 2713 阅读 · 0 评论 -
【c++】——vector one example
example解释vector在resize的时候,就会初始化变量vector[0] = input, 这里会调用编译器为类添加的默认赋值拷贝函数参考:C++11新特性4 - 编译器生成的函数code#include <stdlib.h>#include <stdint.h>#include <stdio.h>#include <vector>class Mat{public: Mat(): w(0) { .原创 2022-04-14 15:54:44 · 959 阅读 · 0 评论 -
【gcc】——gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer
详情参考:https://www.cnblogs.com/luolizhi/p/5737091.html转载 2022-03-08 21:56:50 · 358 阅读 · 0 评论 -
【union】——c中union的妙用
c, union转载自:https://blog.youkuaiyun.com/BLUCEJIE/article/details/103503638union作为C语言的一个关键字跟关键字volatile一样很少出现在程序员 的视野之中,当然相比于volatile,union的处境相对还好一点。但是我总觉得他是C语言的弃儿。那么union与指针有什么关系呢?答案是有,我们都知道union的成员变量是共享同一块内存的,所以我们在使用union时会特别注意union在内存中的形态。与内存有关就与指针有关。有的读.转载 2022-02-22 18:06:01 · 1856 阅读 · 0 评论 -
【c】——malloc多维指针,并释放
转载自:https://blog.youkuaiyun.com/fengxinlinux/article/details/51541003code:#include<stdio.h> #include<stdlib.h> int main() { int **a; //用二级指针动态申请二维数组 int i,j; int m,n; printf("请输入行数\n"); scanf("%d",&m.转载 2022-01-18 22:04:28 · 321 阅读 · 0 评论 -
【C】——sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_s
C报错:sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size)解决:(strlen(layerName) + 1)为字符串申请内存的,用strlen时,需要+1原创 2021-10-20 18:26:45 · 7800 阅读 · 0 评论 -
【ROS交叉编译】——protobuf/yaml-cpp/opencv
ros, pcl, 交叉编译, protobuf, yaml, opencvVTK路径set(VTK_DIR “/home/darknet/CM/28_ros/nx_cross_compile/usr/lib/cmake/vtk-6.3” CACHE PATH “The directory containing VTKConfig.cmake”)stdlib.haarch64-linux-gnu/libc/usr/include/stdlib.h:57:1: 错误: ‘__BEGIN.原创 2021-09-22 19:07:14 · 1260 阅读 · 0 评论 -
【c++】——LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
转载自:https://www.cnblogs.com/panfeng412/archive/2011/10/20/library_path-and-ld_library_path.html1. LIBRARY_PATH和LD_LIBRARY_PATH的区别LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目.转载 2021-08-27 10:33:23 · 1718 阅读 · 0 评论 -
【c++】——void*的释放问题
c++有时候用void*指针之后,需要释放。需要强制类型转换后才能释放delete static_cast<innerNet*>(net)不能直接delete void, 下面的例子是错的*void* net = (void*) new Net(file);delete net;原创 2021-08-25 16:00:01 · 823 阅读 · 0 评论 -
【c++】——new int()和new int[]的区别
c++, new转载自:https://blog.youkuaiyun.com/guoqianqian5812/article/details/50344041new int[] 是创建一个int型数组,数组大小是在[]中指定,例如:int * p = new int[3]; //申请一个动态整型数组,数组的长度为[]中的值new int()是创建一个int型数,并且用()括号中的数据进行初始化,例如:int *p = new int(10); // p指向一个值为10的int数。...转载 2021-08-13 17:46:00 · 634 阅读 · 0 评论 -
【catkin】——将自己代码打包成catkin包
catkincatkin 只安装一个库和撤销catkin config --install撤销catkin config --no-install1. 将整个项目打包成 catkin 的包打包成 catkin 的包主要是为了,用package.xml进行 depend 管理。(但是这种情况还是容易出现动态库先后依赖的问题,依赖的库还没有编译出来)新建一个package.xml和CMakeLists.txt。package.xml的 name 和文件夹的名字, cmakelis.原创 2021-08-04 19:01:32 · 806 阅读 · 0 评论 -
【Cmake】——常用的cmake变量
cmakeCMAKE_MODULE_PATH, CMAKE_ROOTcmake find_package时使用的路径,通过修改CMAKE_MODULE_PATH变量,例子:set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" )list( APPEND CMAKE_MODULE_PATH "${CMAKE_ROOT}/Modules" )CMAKE_ROOT为:/home/darknet/CM/profile/cmake-3.原创 2021-08-03 15:07:50 · 652 阅读 · 0 评论 -
【catkin】——常用命令
catkin1. 只编译一个项目catkin_make --only-pkg-with-deps imu_integrator_rk4原创 2021-07-21 14:32:18 · 680 阅读 · 0 评论 -
【cmake】——cmakelists.txt debug
cmake在用cmake编译项目的时候,希望用message打印一些提示信息。1. package_found在find_package(package_name)时,找到了会定义package_name_FOUND=1.比如:find_package(glog REQUIRED)# 找到了 glog_FOUND =1可以通过message(${glog_FOUND})注意:glog_FOUND的大小写,和find_package(glog)完全相同。如果find_package(Gl.原创 2021-07-21 13:48:01 · 793 阅读 · 0 评论 -
【Cmake】——常见环境变量
cmake${PROJECT_SOURCE_DIR}: CMakeLists.txt所在的路径原创 2021-07-08 17:41:28 · 318 阅读 · 0 评论 -
【vscode】——程序运行时添加环境变量
vscode总的有两种方式,1. sh脚本。 2. 终端中定义。在sh脚本中定义如下例:GCN_PATH=gcn2_320x240.pt ./rgbd_gcn ../Vocabulary/GCNvoc.bin TUM3_small.yaml ~/Workspace/Datasets/TUM/freiburg3/rgbd_dataset_freiburg3_long_office_household ~/Workspace/Datasets/TUM/freiburg3/rgbd_dataset.原创 2021-05-18 15:55:12 · 3286 阅读 · 2 评论 -
【c++】——解析宏定义
c++,宏定义很多大型的c++项目使用了很多的设计模式,其中就有很多宏定义,绕来绕去的很是头疼。同时,gcc编译的第一步预处理的时候会替换掉宏定义,这样相对来说就更好理解了。gcc -E hello.c -o hello.i预处理阶段包含:头文件展开,宏定义替换等这里以nnvm项目中src/top/nn/convolution.cc为例,进行尝试。源文件中有宏定义:DMLC_REGISTER_PARAMETER(Conv2DParam);NNVM_REGISTER_OP(conv2d)这.原创 2021-04-30 16:09:40 · 491 阅读 · 1 评论 -
【c】——float32的二进制表示与在线转换网站
float32, 二进制表示float32在内存中的表示float32转内存在线进制转换arm,float16测试tx2上采用Cortex-A57 arm处理器,好像是支持float16的,这里简单测试一下#include<iostream>#include<limits.h>#include<arm_neon.h>#include<arm_fp16.h>int main(void){ __fp16 a = .原创 2021-04-15 14:52:07 · 2902 阅读 · 0 评论 -
【c】——unsigned int与unsigned short变量自动转换
c, 类型自动转换code#include<iostream>int main(){ unsigned int a = 65537; unsigned short b; b = a; printf("ushort:%d, uint:%d \n", sizeof(unsigned short), sizeof(unsigned int)); std::cout << a << b << std::end.原创 2021-04-15 11:49:19 · 4460 阅读 · 0 评论 -
【c】——c 中关于int,unsigned int , short 各种类型总结
转载自:c 中关于int,unsigned int , short 各种类型总结转载 2021-04-14 17:11:27 · 268 阅读 · 0 评论 -
【c++】——通过cmake定义宏add_definitions
亮点:通过cmake定义的选项在代码中进行动态选择源码:dler1. 例子代码中通过宏 tx2 进行代码的控制.code#ifndef NET_H#define NET_H#include <memory>#include <string>#include <vector>#include <iostream>#include <opencv2/opencv.hpp>#ifdef tx2#include <N.原创 2021-03-17 18:32:27 · 5973 阅读 · 1 评论 -
【c】——C语言返回局部变量的几种用法--(经典例子)
转载自:https://www.cnblogs.com/iriczhao/p/11949910.html2:不能返回以局部变量方式创建的字符串数组首地址#include <stdio.h>char *returnStr(){ char p[]="hello world!"; return p;}int main(){ char *str; str=returnStr(); printf("%s\n", str); return 0;}"hello .转载 2021-02-18 15:18:48 · 370 阅读 · 0 评论 -
【C/C++】——修改指针的值
转载自:https://blog.youkuaiyun.com/qq_22525091/article/details/80116128code#include<stdio.h>#include<stdlib.h>void GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num);}void Test(void){ char *str = NULL; GetMemo.转载 2021-02-18 14:44:37 · 1732 阅读 · 0 评论 -
[c]--C99标准下的Struct的初始化方法
from: http://blog.sina.com.cn/s/blog_b35dc7610102wpqk.htmlStruct的常见初始化方法我们可以在任何一本关于C语言书里面都可以找到,这里就不赘述了。我们先看下面一段代码:static struct usb_driver usb_storage_driver = { .owner = THIS_MODULE, .name = \"usb-storage\", .probe = storage.转载 2021-01-22 18:52:45 · 599 阅读 · 0 评论 -
【c++】——c/c++调用python的一些坑,主要是编译问题和版本问题
转载自:https://www.cnblogs.com/LittleSec/p/10940758.html注意了,我在官方文档中也没找到编译的命令,很多网上的demo也仅仅列出代码不告诉你如何编译,经过实验编译至少应当是这样的:g++ ccallpython.cpp `python3-config --cflags` `python3-config --ldflags`如果不加python3-config --cflags python3-config --ldflags这两个选项,编译就会出问.转载 2021-01-08 17:02:08 · 2098 阅读 · 0 评论 -
【tensorrt】——报错:发生异常: TypeError pybind11::init(): factory function returned nullptr
描述:采用tensorrt python api载入序列化的模型时,报错:发生异常: TypeErrorpybind11::init(): factory function returned nullptrcodewith open(self.model, 'rb') as f, trt.Runtime(self.trt_logger) as runtime: return runtime.deserialize_cuda_engine(f.read())原因在mai原创 2020-12-29 20:48:15 · 5203 阅读 · 12 评论 -
【C++】——报错:terminate called after throwing an instance of ‘std::bad_alloc‘ what(): std::bad_alloc
采用onnx-tensorrt项目,解析onnx的模型时,报错:terminate called after throwing an instance of ‘std::bad_alloc’what(): std::bad_alloc原因:插件的 serialize 函数写错了正确的写法void serialize(void* buffer) const override { serializeBase(buffer); serialize_value(&am原创 2020-12-29 19:19:11 · 3018 阅读 · 0 评论 -
【c++】——可变参数宏__VA_ARGS__
转载自:http://blog.sina.com.cn/s/blog_661314940100qmfg.html用可变参数宏(variadic macros)传递可变参数表,你可能很熟悉在函数中使用可变参数表,如:void printf(const char* format, …);直到最近,可变参数表还是只能应用在真正的函数中,不能使用在宏中。C99编译器标准终于改变了这种局面,它允许你可以定义可变参数宏(variadic macros),这样你就可以使用拥有可以变化的参数表的宏。可变参数宏就.转载 2020-12-25 18:50:01 · 791 阅读 · 0 评论 -
【资源推荐】——C++学习推荐
是微软官方网站对C++的参考文档,有网页版和可下载的pdf,知识点也是很全面的。Microsoft c++原创 2020-12-24 09:45:26 · 245 阅读 · 0 评论 -
【C++】——动态链接库检查ldd不香吗?
1. 场景1.1 用C++写的程序,总是涉及到动态链接库的编译与使用。比如自己写的文件打包成了动态库,这个动态库又链接了其他动态库。这样在给别人的时候,需要给那些库呢?只是给自己编译好的吗?还是其他2. 解决方案ldd在ubuntu上可以用用 ldd 查看一个文件的动态链接库依赖。这样就看可以一目了然,需要给哪些东西了。例子这里以我自己编译的一个 exe 为例:ldd segDemoout:linux-vdso.so.1 (0x00007ffd14b29000)libmegengine原创 2020-12-08 18:02:44 · 662 阅读 · 0 评论 -
【cmake】——自动添加宏定义
转载自:https://www.jianshu.com/p/f0f71d36411acmake新增语法解释:option (USE_MYMATH “Use provided math implementation” ON)指令给变量赋值 ON,代表真;OFF关键字则代表 假configure_file( [COPYONLY] [ESCAPE_QUOTES] [@ONLY])对指定的输入文件中的内容按照指定的规则进行替换,替换完成后输出到output指定的输出路径替换规则为:1、在输入文件中,转载 2020-11-13 10:56:44 · 4150 阅读 · 0 评论 -
【C】——C语言函数指针的用法总结
请参考:https://blog.youkuaiyun.com/faihung/article/details/80329925转载 2020-10-25 22:26:58 · 277 阅读 · 0 评论 -
【cmake】——find_package路径详解
参考:https://zhuanlan.zhihu.com/p/50829542转载 2020-10-20 19:49:02 · 1212 阅读 · 0 评论 -
【c++】——报错:no matching function for call to ‘yolodet::yoloNet::yoloNet()’
采用yolodet::yoloNet net; 声明类需要实现类的空初始化方法yoloNet::yoloNet(){}不然会报错:error: no matching function for call to ‘yolodet::yoloNet::yoloNet()’yolodet::yoloNet net;原创 2020-10-20 14:44:46 · 349 阅读 · 0 评论 -
【cmake】——find_path/find_library用法例子
例子#在HINTS后的路径中找NvInfer.h, PATH_SUFFIXES:在每个搜索路径的子目录下搜索find_path(TENSORRT_INCLUDE_DIR NvInfer.hHINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}PATH_SUFFIXES include)find_library(TENSORRT_INFER libnvinfer.soHINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR原创 2020-10-20 10:47:15 · 7053 阅读 · 0 评论 -
【c++】——动态库中全局变量
转载自:https://www.cnblogs.com/super119/archive/2011/04/10/2011305.html之前在linux下做过一个测试:写一个so,该so中有一个全局变量。so中的代码在运行时会修改该全局变量的值。然后,有多个程序都需要该so,而且这些应用程序都启动了。此时,很显然so只被加载了一份,那么,当这么多程序在运行调用该so时,该so中的全局变量的值会被覆盖来覆盖去么?答案是不会。这是测试的答案。现在知道原理了,尽管这是windows via C/C++中解转载 2020-10-09 10:08:47 · 2102 阅读 · 0 评论