随笔分类 - C++
摘要:一、OpenMP TBB选择 参考https://blog.csdn.net/yuwei629/article/details/9302343 OpenMP需要编译器支持,TBB需要下载运行库 TBB 大量使用了 C++ 模板和用户自定义类型,所以特别适宜对象导向程度较高的代码, 但TBB只支持C+
阅读全文
摘要:ctime clock()是一个无参函数,返回值是一个以毫秒为单位的整形 #include <ctime> #include <iostream> long t1 = clock(); **** Doing something **** long t2 = clock();; std::cout <
阅读全文
摘要:make_heap https://en.cppreference.com/w/cpp/algorithm/make_heap struct ds { double value; int idx; ds(double v, int index) : value(v), idx(index){} };
阅读全文
摘要:一、打印可见变量及其值 get_cmake_property(_variableNames VARIABLES) foreach (_variableName {_variableName}=${${_variableName}
阅读全文
摘要:最近在测试过程中发现Windows下面的运行结果和Linux下面的运行结果不一致,windows下测试通过,但Linux结果不对,在检查输出数据以及代码之后,并没有发现不同之处,后面想到abs(), min(), max()等函数在不同编译环境下其作用可能不同,更改后问题得到解决。 比如: stda
阅读全文
摘要:最近需要查看代码允许过程中内存占用情况,这里利用Windows API获取当前进程占用内存情况,另外也可以借助Intel VTune Profiler工具(更加方便)和Visual Studio一起配合使用,便于查看程序运行时的热点、耗时等。 Windows API代码 #include<psapi
阅读全文
摘要:最近项目中遇到一个问题,需要在Linux上进行调试,开始查找了Visual Studio 2019远程调试的一些资料,没有通过,后面采用Visual Studio Code成功调试找出问题。这里对VSCode调试的步骤做一个记录。 C++调试 一、visual studio2019 远程连接服务器进
阅读全文
摘要:1、C++代码在Debug模式下打包成python库 2、拷贝库的pdb文件及库到python运行目录 3、python端主函数入口设置等待输入 input("请输入0, 然后继续: ") 4、vs打开调试==>附加到进程==>选择python.exe 5、python端输入0 继续 6、自动跳转到
阅读全文
摘要:参考资料: 图说设计模式 史上最全设计模式导学目录(完整版) An Introduction to Design Patterns in C++ with Qt 4
阅读全文
摘要:test.cpp (预编译器: 头文件copy 宏替换等)> test.i (编译器)> test.s(汇编文件) (汇编器)> test.obj/test.o(目标文件) (链接器)> test.exe/test(可执行文件) test.cpp #include <iostream> #defin
阅读全文
摘要:最近接触到C设计模式中的单件模式,这里记录一下使用过程。正如“singleton”这个名字,意思是在整个程序中只定义一个类,这意味着它不能有多个类。它允许其他类访问自己,因为它提供了全局访问点。因此,我们可以得出结论,在 C 中,当您拥有所有用户的单一类型信息时,将使用单例类。更多问题可以参考cpp
阅读全文
摘要:文件内容 读取文件 先打开文件,按行读取 对每行数据按空格分割 格式转换 #include <iostream> #include <memory> #include <vector> #include <fstream> #include <sstream> void preprocess(std
阅读全文
摘要:不支持中文 std::wstring wide = L"wide"; std::string str(wide.begin(), wide.end()); std::string s = "hello"; std::wstring ws(s.begin(), s.end()); 支持中文 // Wi
阅读全文
摘要:使用OpenCV的DNN模块调用pytorch训练的分类模型,这里记录一下中间的流程,主要分为模型训练,模型转换和OpenCV调用三步。 一、训练二分类模型 准备二分类数据,直接使用torchvision.models中的resnet18网络,主要编写的地方是自定义数据类中的__getitem__,
阅读全文
摘要:有时候需要在Release模式下进行调试, 这里对设置流程做一个记录, 右击打开项目属性,然后按以下顺序依次配置 step1 配置C/C++ 常规 调试信息格式设置为程序数据库(/Zi) step2 配置C/C++ 优化 优化设置为已禁用(/Od) step3 配置链接器 调试 生成调试信息设置为生
阅读全文
摘要:在visual studio中编译好程序后,运行时有时会出现找不到库的错误,这里对几种排查方法做一个记录。 排查方法 方法一 把dll文件的路径添加到系统的环境变量 PATH 中 方法二 直接把所有 dll 拷贝到 Visual Studio 工程目录下,或是拷贝到生成可执行文件的文件夹(默认情况下
阅读全文
摘要:最近遇到一个问题,需要将字符串按格式拼接发送给服务端,然后获取结果,网上查找一些资料后发现sprintf和stringstream能满足我的需求,其中sprintf是C的函数,stringstream是C++的函数,这里记录一下使用过程。 示例 需要将三维坐标点按照固定格式变成字符串,然后再发送给服
阅读全文
摘要:SWIG (Simplified Wrapper and Interface Generator)是一个连接C和C++编写的程序和其他脚本语言的接口编译器,如Perl、Python、Ruby和Tcl等脚本语言。编写好的C和C++程序可以通过SWIG编译成其他语言的接口。这里记录使用SWIG将C++代
阅读全文
摘要:最近有个需求是C++作为客户端请求服务器,获取返回结果,查找了一些库C++网络库,其中mongoose只有一个.h头文件和一个.c源文件,比较方便且轻量化,客户端上传文件可以跑通,但是上传json数据时需要自己编写报文头,自己不太懂网络这一块,所以最终采用了curl库。 一、libcurl库编译安装
阅读全文
摘要:参考网站: python https://python-parallel-programmning-cookbook.readthedocs.io/zh_CN/latest/index.html https://www.machinelearningplus.com/python/parallel-
阅读全文