c++学习笔记
长虹剑
珍爱动植物,保护环境。
展开
-
valgrind 检测内存泄漏
使用 libtorch 发现有内存泄漏问题安装与下载从 这里 下载wget https://sourceware.org/pub/valgrind/valgrind-3.17.0.tar.bz2tar -jxvf valgrind-3.17.0.tar.bz2cd valgrind-3.17.0mkdir _buildcd _build../configure --prefix="xxxx" #[可选]make -jmake install使用假设你有个要检查的程序为 vtts_t原创 2021-06-27 10:10:49 · 1395 阅读 · 0 评论 -
c++ 常用功能实现总结
基础类型转换using T = std::vector<std::vector<unsigned char>>*;video_bytes = reinterpret_cast< T >( video_data );模块中文字符分隔来自std::vector<std::string> split_chinese(std::string s) { std::vector<std::string> t; for (size原创 2021-06-10 10:22:49 · 212 阅读 · 0 评论 -
libtorch / torch 常用语法记录
简单整理libtorch的用法索引设置 one-hotfeat 最后一维为one-hottorch::Tensor ids = torch::randint(0, 5, {2, 3} ).to(torch::kLong);torch::Tensor ids1 = torch::arange(2*3).to(torch::kLong);torch::Tensor feat = torch::zeros({2, 3, 5});feat.view({-1, 5}).index_put_( { ids原创 2020-12-05 18:16:29 · 1562 阅读 · 0 评论 -
cuda 有关错误解决
纯CUDAcudaMemcpy invalid argument cudaError_t 返回值为11我的错误原因是数组越界。pytorchCUDA error: device-side assert triggered直接通过print 大法不行,给不出正确的位置需要在最前面加入import osos.environ['CUDA_LAUNCH_BLOCKING'] = "1"...原创 2020-11-19 17:07:03 · 1166 阅读 · 0 评论 -
dlib 安装及编译相关问题
感觉这里的dlib好编译https://github.com/davisking/dlibC++的编译这个好像直接就可以了(不需要libboost?)主要说一下python 的python setup.py install 直接可以通过,但是容易出现与anaconda 的东西混淆,我这里是导致 与 libpng 相关的链接链接不上。undefined symbol: png_set_longjmp_fn看了CMakeLists.txt 相关位置,尝试python setup.py instal原创 2020-10-20 18:00:33 · 332 阅读 · 0 评论 -
gcc 4.9 安装的注意事项
由于某些原因系统的gcc不符合我们的要求,比如一般是5.4,我们需要4.9,但是我们没有管理员权限去,这样就需要在自己的目录下安装,同时修改一些环境变量,这样就可以方便cmake等程序的使用。gcc 4.9 的下载wget http://mirrors-usa.go-parts.com/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2上面这个快很多,下面的就...原创 2019-05-29 14:42:12 · 1505 阅读 · 0 评论 -
c++11多线程模板
c++11多线程模板,可以在此基础上改进。 这个模板读取一个文件list,然后读取list中的每个文件,对每个文件做一些复杂的操作。原创 2016-11-08 11:36:42 · 1188 阅读 · 0 评论 -
c++编译链接模板
cmake模板,编译链接原创 2016-11-23 13:43:49 · 761 阅读 · 0 评论 -
c++ 自己遇到的编程陷阱或技巧
c++ 项目和算法常用到的技巧和陷阱原创 2014-04-30 22:24:57 · 1836 阅读 · 0 评论 -
c语言stdout,stdin,stderr缓冲问题
问题背景这个c语言中,对于输入输出流的缓冲问题我是早就知道的。但是以前对输入流关注的较多,没想到今天因为输出流,害的师兄们找了一天,我也帮忙找了一下午才找出来。问题来源师兄有个C语言程序,程序前面输出一堆东西(绝对没有错),后面很复杂,调试时出现了段错误(segment error)。如果直接运行这个程序输出会显示出来,然后出现段错误。 但是一旦要重定向到一个文件里面,前面原创 2015-03-20 20:04:57 · 3313 阅读 · 1 评论 -
stl map list queue等容器的常用方法 (自我总结)
以下均不为完整程序map:#includemap::iterator it,it1,it2; //定义迭代器mapdt; //定义mp[0]=12; //边用边创建 也可以使用 pair来创建mp.erase(k); //删除某个键值对应的 dt.erase(dt.begin(),dt.end());// 清空 *** 自己想出来的for(it=原创 2014-03-15 11:31:14 · 1478 阅读 · 0 评论 -
c++qsort函数用法 简练讲解
参考资料来源 qsort函数用法qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); 各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数转载 2013-08-13 11:16:51 · 2290 阅读 · 0 评论