自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 并行代码效率计算

这个数一般在(0~1之间),就说明每个线程提升的倍数。效率为1的话说明,多了一个现成就提升了一倍。一般要求大于0.5。

2024-07-24 17:26:02 32

原创 Halide AOT模式

这种模式会提前,会提前编译好,变成dll什么的,可接受任何输入的参数运行。然后这样调用,必须要make一下前一个file,才有后面的.h。

2024-07-03 17:57:48 212

原创 为什么circular buffer 要是8的倍数

综上所述,选择8的倍数(即2的幂次方)的缓冲区大小可以显著优化性能,简化硬件设计,并更好地利用处理器缓存,从而在许多应用场景中成为常见的选择。

2024-07-03 17:22:21 295

原创 How to atomically update a maximum value?

c++ - How to atomically update a maximum value? - Stack Overflow

2024-06-21 19:07:17 115

原创 形位公差 MMC

GD&T(形位公差) 最大实体状态MMC怎样对通孔起作用 (含中文字幕)_哔哩哔哩_bilibili

2024-04-29 15:19:30 194

原创 Opencv Findcontours 原理

https://zhuanlan.zhihu.com/p/107257870

2024-04-16 16:06:24 308

原创 Gtest 和VLD一起使用报内存泄漏

反思:有时好好看看代码库的头文件,也许可以找到解决办法。那么解决办法是什么呢?一个折中的办法是这样的。

2024-04-03 12:00:58 179

原创 编译原理代码

前言 · 编译原理算法实现 · 看云

2024-03-28 20:08:17 95

原创 warning LNK4042: 对象被多次指定;已忽略多余的指定

然后另一个dll用到了这个obj,还用了这句,target_precompile_headers(${TARGET_NAME}_cpp REUSE_FROM algos_obj) 就会出问题。cmake_pch.obj : warning LNK4042: 对象被多次指定;因为有些cpp中删掉了include .h 也可以编译通过。当algos_obj中用到了预编译头文件的cmake_pch.obj。

2024-03-28 14:54:43 149

原创 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

这个问题可能是由于链接器发现了在链接时存在冲突的符号,这些符号在默认的运行时库 "LIBCMT" 和其他库中都有定义。当链接器找到多个定义相同的符号时,就会报告冲突。冲突可能是因为你在链接时使用了不同版本的库,或者是因为你的代码中使用了某些特定于库的功能,导致了符号冲突。通过排除默认库并确保使用统一的库版本,可以帮助解决这些问题。选项来排除默认库 "LIBCMT" 的使用,以便在链接时不再考虑它。这样,你可以确保链接器使用其他库中的定义,从而解决符号冲突问题。解决这个问题的常见方法之一是通过使用。

2024-03-28 14:36:12 502

原创 cmake使用预编译头文件功能后,不需要include相关文件了

2. 类似于VS里创建的项目,即.cpp显式#include "stdafx.h",那就不需要写这些include了。1. 类似于vision,即.cpp未显式include "xx_pch.h",最好还是写上这些include。在obj中的.h 文件就不需要再include 对应的文件了。一般来说,相比于编译时间,更影响开发效率的是IDE的解析时间。重复写,不增加编译时间。

2024-03-28 11:53:52 239

原创 多个数字二进制加法

https://www.google.com/search?q=three+binary+numbers+addition&sca_esv=274934f892c43701&sca_upv=1&ei=2cPqZZ_CAcrK2roPiKqq2A0&oq=three+binary+nu&gs_lp=Egxnd3Mtd2l6LXNlcnAiD3RocmVlIGJpbmFyeSBudSoCCAAyBBAAGB4yBhAAGAgYHjIGEAAYCBgeMggQABgIGB4YDzIGEAAYBRgeMgYQABg

2024-03-08 15:57:58 181

原创 循环展开的文章写的不错

计算机体系结构-loop unrolling(循环展开) - 知乎

2024-03-07 17:25:03 97

原创 make_shared_for_overwrite

不过这个仅限于内置类型。如果是用户写的,就会增加自动初始化(调用客户写的初始化)。这个函数用来malloc数组,但不初始化。

2024-02-21 19:53:48 157

原创 halide package cmake的设置方式

3 然后设置一下那个Halide_DIR就可以了。2 把提前下载好的halide放到一个位置。里面用到halide。这时会提示找不到package。按照那个提示做就行。

2024-02-19 17:52:26 169

原创 std::pow 比x*x慢

因为里面会转一步float。

2024-02-19 15:58:56 193

原创 扣库的函数经验

有的库确实可以提出来的比如这个库根据自己的需要是可以,把内容抠出来的,重新build的。我就自己新建了一个vs的工程,然后把源文件弄进来build。缺哪个文件就把哪个文件加到工程里。

2024-02-01 11:35:02 299

原创 类形设计经验

但是每个形状都有共同的成员,也有各自的成员。也有个别的类型有相同的成员。这样的优点是:不用在各自的子类中有相同的成员。里面有所有类型的成员变量。所有子类,有自己的接口访问自己各自的成员。这个类提供公用成员访问接口。然后所有类型继承这个基类。

2024-01-17 14:46:34 350

原创 cmake 中的install指令

还可以用正则表达式过滤。安装路径时,可以这样。安装文件时,可以这样。

2024-01-12 19:32:26 374

原创 Cmake 中的list介绍

这个链接非常好,都有例子。

2024-01-12 18:22:58 396

原创 cmake 中的set用法

可以后面跟一串字符串。

2024-01-12 15:33:46 412

原创 代码结构:为何重要算法不和接口编译到一个dll里面

比如,有时单独改一个接口,只要重新构建那个接口的dll就可以了。如果大家都写在一个dll里面,那么每次改一下接口,就需要重构整个算法模块。2 每个算子的dll我们理解,内容主要是其接口的实现。而真正的算法内容是在上面的algorithm.dll中。3 所以这种dll的拆分也好,或者cmake中的obj,就有这种好处。就是将build的单元解耦开。提升build时的效率。1 需要每个算子是一个dll。优点是方便业务上,针对不同的算子精细化的更新,或者售卖。这里是vision master的例子。

2024-01-12 11:14:13 416

原创 使用isInfinite判断数字的有效性

任何数都大于-inf。

2024-01-10 16:34:20 353

原创 Eigen 中的传播计算

Eigen: Reductions, visitors and broadcasting

2024-01-10 15:08:41 381

原创 eigen 中的comma 初始化

是沿着x轴初始化的。

2024-01-10 15:05:04 368

原创 target_compile_options 的参数设置

2024-01-08 17:32:08 350

原创 cmake自动配置Install的路径

会自动设置这些变量,使得在不同系统上能够使用相同的 CMakeLists.txt 文件,并且符合 GNU 标准。这样,你可以在你的项目中使用这些变量,而不用硬编码目录路径,从而提高了你的项目的可移植性。命令指定了可执行文件、库文件和头文件的安装路径。这样做使得你的项目更容易在不同的系统上进行移植和安装。是在 CMake 项目中常见的一种做法,主要是为了使用 GNU 标准的目录布局来定义安装目录。模块提供了一组变量,这些变量表示了标准的 GNU 安装目录。以下是一个简单的例子,演示了如何使用。

2024-01-05 11:26:55 856

原创 cmake formatter

安装完插件后,需要pip install cmake_format 一下,就work了。这里vscode里面有个插件,用来格式化cmake文件。这个插件就是 cmake-format。

2024-01-04 17:43:08 429 1

原创 vscode中增加参数的一个方法

1 在settings.json 文件中增加参数。2. 在参数中配置 这里也是ok的。

2024-01-03 11:07:31 483

原创 Quiet NaN 和Signaling NaN 的区别

【代码】Quiet NaN 和Signaling NaN 的区别。

2023-12-11 11:03:18 183

原创 只有Target才有PDB

中间的OBJ的debug信息是放在Target里了。

2023-11-21 16:20:47 73

原创 Cmake 生成器表达式

下面这行 就能把Lib的PDB FILEs安装提取出来安装到DESTINATION。

2023-11-21 15:49:03 74

原创 install安装路径设定

因为安装路径的前缀 CMAKE_INSTALL_PREFIX 都在外面都写了。所以在具体的dll 在安装时,就写相对路径就行了。

2023-11-21 15:28:22 62

原创 cmake 设置build结果的路径

就用上面这几行设置的.为什么build里面有dll或者exe之类的都用这个设置。和install没有关系。

2023-11-21 15:17:20 208

原创 warning C4251

c++ - Warning C4251 when building a DLL that exports a class containing an ATL::CString member - Stack Overflow

2023-11-20 18:15:40 132

原创 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

修改方法:改变编码方式。utf8-with BOM就可以了。我用的vscode。这是需要修改编码的方式。原因就是:文件中的换行符可能有问题。

2023-11-20 17:19:57 570

原创 pip install python是关于 NMake Makefiles报错

【代码】pip install python是关于 NMake Makefiles报错。

2023-11-02 19:00:01 201

原创 CMake 坑之添加文件后不修改CMakeList.txt,则文件加不进来

应该是这个clean and rebuild,并没有把所有的东西都clean掉。或者 cmake delete cache and reconfigure。改进了下对应的CMakeList.txt。这时会重新cmake这个文件。我试了无数次的 clean and rebuild 都没用。发现是新建的文件没有被读取进来。有了新的文件 需要重新configure一下。我在一个文件夹中加了一个.h和对应的cpp。比如都进来的文件时没有clean掉的。然后再把改动删掉,就没有问题了。这里.h中的类会被导出。

2023-10-25 17:28:12 174

原创 激光散斑的原理

2023-10-19 19:12:38 99

原创 3D是觉得中的激光相机

3D视觉 之 线激光3D相机 - 知乎 (zhihu.com)

2023-10-19 11:28:35 33

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除