- 博客(73)
- 资源 (42)
- 收藏
- 关注
原创 windows 程序异常崩溃等错误定位
MAP/映射文件1.MAP 映射文件的作用:MAP文件可以查找崩溃或者程序异常地址,然后就可以精确地定位到源代码中出错的代码行。2.VS中生成MAP文件的方法,项目属性中选择生成映射文件,如下图编译完,会在生成目录生成对应的xxxxx.map文件3.1.程序调试阶段或者发布后(发布程序时需要一起打包生成的对应MAP文件,因
2016-07-07 16:25:01 19698
原创 解决使用PCL 报错C2116,“FindFirstFileA”: 无法重载具有外部 “C“ 链接的函数
解决办法直接,项目属性添加预定义:NOMINMAX。
2024-05-27 08:41:04 189
原创 三维图形学知识分享---求平面与模型相交线
在CGAL(Computational Geometry Algorithms Library)中,Polygon_mesh_processing模块提供了用于处理多边形网格数据结构的功能。其中,surface_intersection函数是用来计算模型的表面相交线的工具。
2024-04-26 20:03:01 414
原创 三维图形学知识分享--三角剖分网格细分详细代码实现
该算法将每个四边形分割成四个新的四边形,并生成新的顶点,然后根据一定的规则对顶点进行移动。:Doo-Sabin 细分也是一种基于四边形网格的迭代细分方法,它将每个四边形分割成若干个新的四边形,并生成新的顶点。:这是最简单的细分方法之一,它将每个三角形或四面体分割成若干个更小的三角形或四面体,保持原始网格的形状和拓扑不变。这样可以使得网格更加平滑,但是可能会改变原始网格的形状。对于由不规则三角形或四面体组成的网格,细分可以改善网格的质量,使其具有更均匀的形状和大小,从而提高数值计算的精度和稳定性。
2024-04-26 09:06:57 593
原创 三维图形知识分享-泊松(Poisson)重建详细源码
很多开源库都实现了经典的泊松重建算法,PCL点云处理库、CGAL等等有名的三维几何算法库,在实际使用中,CGAL库的实现泊松重建比较易懂,下面是一个完整的例子。泊松重建 (Poisson reconstruction) 是一种流行的点云表面重建算法,它通过求解一个泊松问题来构建点云数据的表面。下面是另一个简化版实现。
2024-04-26 06:32:41 466
原创 三维图形学基础-三维点集求凸包算法
在计算凸包时,我们想要找到一个最小的凸多面体,它包含了给定点集合中的所有点,并且多面体的边界是由这些点确定的。凸包在计算机图形学、地理信息系统、机器人运动规划等领域中都有广泛的应用。之前文字有讲到CGAL这个几何算法库,里面就有计算凸包的算法,详细的可以阅读源码文件,这里写一个使用CGAL求解三维空间中点集凸包计算。
2024-04-25 17:19:05 452
原创 三维图形程序员必学-CGAL几何算法
GCAL几何算法库,涵盖了很对数学几何算法,矩阵运算、平面拟合、曲线拟合、曲面重建、网格优化、网格剖分、面线相交、布尔运算等等各种图形学几何相关的算法。CGAL是一个开源代码库,官网连接。
2024-04-25 12:37:38 582
原创 三维图形程序员入门-openmesh
三维网格入门第一篇,学习使用openmesh,三维模型的读取、存储有自己的数据结构,要想详细了解就开始学习openmesh,openmesh是开源的一个三角网格处理库,有三维顶点、面片、边、半边等,还有遍历算法、法向求解等等三维图形基础知识。// 遍历并输出每个顶点的坐标。// 定义一个网格对象。// 读取OBJ文件。openmesh官网。
2024-04-25 08:43:49 371
原创 C++ 字符串中识别取出非中文字符
/ 对于UTF-8编码中的中文字符,其第一个字节的最高位至少有三个1,例如 1110xxxx (E0-EF)i += num_bytes;// 跳过整个中文字符。// 计算UTF-8编码的中文字符字节数。// 非中文字符,直接添加到结果中。// 而对于单字节的ASCII字符,最高位是0。// ASCII编码字符。
2023-12-23 13:48:18 255
原创 编译libigl笔记
2.error C3861: “_BitScanForward64”: 找不到标识符 win32修改成_BitScanForward。1.最好需要翻墙软件,CMake时会随时下载依赖资源。
2023-11-09 17:30:44 154
原创 C++内存泄漏排查经验分享
要检查代码中的循环引用,可以使用调试器或内存分析工具来检查代码中的循环引用。要检查内存分配,可以使用调试器或内存分析工具来检查代码中的内存分配。首先,要找出内存泄漏的原因,必须分析代码。可以查看代码中创建的对象,尤其是动态分配的对象,查找是否有不当的释放或内存泄漏的迹象。在编写代码时,应该尽量避免不必要的内存分配和释放,尽可能缩短代码的执行时间。使用内存池可以确保正确地分配和释放内存,从而减少内存泄漏的风险。总之,要找出 C++内存泄漏的原因,必须仔细分析代码并使用各种工具和技术来检查内存分配和释放情况。
2023-05-30 07:38:27 1896 1
原创 智能指针你用对了码?有啥优缺点?
3.不适用于所有场景:智能指针主要适用于手动管理内存的场景,对于自动管理内存的场景可能不适用。2.安全性:智能指针会自动检测指针的使用情况,如果指针被非法访问,则会触发异常。因此,需要花时间学习和掌握智能指针的使用方法。总的来说,智能指针是 C++ 中一个非常重要的特性,可以提高代码的安全性和效率,但需要谨慎使用,避免出现不必要的问题。智能指针是 C++ 中的一种特殊类型指针,它提供了更加灵活和安全的内存管理功能。3.效率:智能指针可以自动管理内存,因此可以提高代码的效率,减少内存分配和释放的次数。
2023-05-30 07:30:33 1031
原创 提高C++技能的几点建议
通过参与开源项目,可以学习到其他程序员的编码技巧和最佳实践,提高自己的编程能力。此外,还可以学习到其他程序员的代码审查和反馈,有助于提高代码质量和开发效率。编写高质量的 C++程序,需要遵循一些最佳实践,例如使用有意义的变量名、编写清晰易懂的代码、避免冗余代码等。总之,要提高 C++技术能力,需要不断学习和实践。掌握 C++基础语法和面向对象编程,熟悉 C++标准库,提高代码质量,参与开源项目等,都是提高 C++技术能力的有效途径。熟悉标准库中的函数和类,可以提高程序的性能和可维护性。
2023-05-30 07:27:36 170
原创 当用CGAL BOOST出现编译莫名其妙问题时
_CRT_SECURE_NO_WARNINGS_USE_MATH_DEFINESCGAL_NO_GMPWIN32
2021-05-13 09:07:09 137
原创 vs2010 ocx项目中使用ffmpeg release版本注册提示缺少DLL
1. 最近使用ffmpeg 做视频播放插件,release 发布的ocx注册提示失败,但是debug版本就可以注册成功2.后来查询了很多资料发现是vs2010编译器问题,需要设置编译优化选项,引用为 OPT:NOREF,就是编译时保留为引用的函数或数据,这样编译出来的ocx 注册时就不会报错了,所以debug没问题release 有问题时可以考虑编译器优化导致的包括运行稳定问
2017-11-22 21:49:30 498
原创 QT 选中QListView 指定行
1.QStandardItemModel *m_listviewmodel_;QListView *listView_servicels;2.m_listviewmodel_ = new QStandardItemModel(10,1);// 行列ui.listView_servicels->setModel(m_listviewmodel_);3.QModel
2016-12-06 14:35:21 12746
原创 QT 渐变
QPainter painter(canvas); //widget_memwd作为画图对象? QPixmap m_pBg;m_pBg.load("Resources/UI/bk_line.png");QLinearGradient gradient(0, COLOR_GRADIENT, 0, 0);gradient.setColorAt(0.0, QColor(82,211
2016-12-06 14:31:19 437
原创 debian pjsip 编译
1. debian 从svn 获取想要的pjsip源码版本 svn checkout http://svn.pjsip.org/repos/pjproject/tags/2.5.52. 下载完,开始编译 $ ./configure $ make dep && make clear && make
2016-07-23 18:20:08 475
转载 debian 编译freeswitch
wget -O - https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "debhttp://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" >/etc/apt/
2016-07-23 08:41:10 1147
转载 QT 网络编程
Network Programming with QtThe Qt Network module offers classes that allow you to write TCP/IP clients and servers. It offers lower-level classes such asQTcpSocket,QTcpServer andQUdpSocket t
2016-07-01 15:42:45 805
原创 Activex 控件编程入门实例
直接上图,使用vs2008IDE1.新建 Activex项目2.自动生成项目文件 3. 现在添加自己的方法供外部调用 4.实现添加的方法5.编译生成项目,在生成目录下可以看到6.新建一个MFC对话框项目测试使用控件选择刚才的控件
2016-06-29 11:04:54 1982
原创 ubuntu 16 默认启动进入 字符界面
sudo vi /etc/default/grub注释掉 GRUB_CMDLINE_LINUX_DEFAULT=”quiet”, 修改GRUB_CMDLINE_LINUX=”" to GRUB_CMDLINE_LINUX=”text”去掉 GRUB_TERMINAL=console 前的 #sudo update-grub sudo systemctl
2016-06-25 08:10:26 928
原创 SendMessage function 浅析
微软官方:SendMessage function97 out of 1940 rated this helpful- Rate this topicSends the specified message to a window or windows. The SendMessage function calls the window procedure for the
2013-01-27 12:04:58 1233
原创 strcpy() 与 ‘\0’
strcpy() 拷贝字符串,它直到发现'\0'字符串结束符才结束,所以,有时候使用它会出现错误void main(){ char str[10],str0[10]; for(int i=0;i str[i] = 'd'; strcpy(str0,str); return 0} // 程序结束会出现 run-time check fa
2012-03-16 14:14:46 4444
原创 字节对齐
字节对齐三原则 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节;例如上面第二个结构体变量的 地址空间。 3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。概念:
2012-03-09 08:46:34 992
原创 winsock select() 返回值
The select function determines the status of one or more sockets, waiting if necessary, to perform synchronous I/O.Syntaxint select( __in int nfds, __inout fd_set *r
2012-02-28 16:51:58 3051
转载 MPEG-2 PS MPEG-1
MPEG-1 Data StructuresThe ISO/IEC 13818 specification defines the audio, video and multiplexing standards collectively and colloquially referred to as the MPEG-2 (Motion Picture Experts Group) compr
2012-02-24 10:21:42 964
转载 MPEG2
MPEG-2 is used in Digital Video Broadcast and Digital Versatile Discs. The MPEG transport stream, TS, and MPEG program stream, PS, arecontainer formats.MPEG-2 is a standard for "the generi
2012-02-24 10:18:04 1456
转载 Program Stream
Program stream (PS or MPEG-PS) is a container format for multiplexing digital audio, video and more. The PS format is specified in MPEG-1 Part 1 (ISO/IEC 11172-1) and MPEG-2 Part 1, Systems (ISO
2012-02-24 10:14:19 1570
原创 android 与 windows
了解了一下android架构,看到它的四个核心组件类,它的activity类不就相当于windows程序的各个交互界面,view视图就相当于windows程序中的控件,正好项目使用的是windows自绘界面,整个系统模块很多,交互起来很复杂,搞得现在框架臃肿,响应迟钝,逻辑复杂,刚开始如果按android的这种思想就好了,把程序划分为多个独立界面,每个界面都继承于一个界面基类,界面基类包括处理各种
2012-02-01 11:37:02 734
原创 ddraw 表面绘图的两种方法(overlay 直接操作内存数据)
1. lpSurface->GetDc(); 获得表面环境DC,在此DC上绘制图片 2. lpSurface->Lock() 或得表面的内存地址 直接操作内存地址
2011-12-07 20:52:09 1753
原创 今天调试出两个内存泄露
内存泄露真是无处不在,使用windows API 不当也会引起内存泄露,new 的内存,delete完并不是真的就保险了。今天调试程序,就发现了两处内存泄露,在PC上有的问题运行时会提示,但wince系统下这方面做的就不够,现在把两个错误写下来。1.我在程序中读取MP3的专辑图片,需要预先把一块内容读出,然后再把图片数据分离出来,原理如下
2011-12-01 20:29:06 1570
原创 控制台 串口调试工具 打印串口信息
调试程序我那个串口工具老是死机,我自己抽空写了一个控制台串口打印信息程序,代码很简单 #include "stdafx.h"#include "windows.h"HANDLE hCom;DWORD WINAPI ThreadRead(LPVOID lp){ char readBuf[1024]; DWORD dw; while(1) {
2011-11-25 21:32:41 3947 1
原创 编译内核
make-kpkg --initrd --append-to-version=dell1400 kernel_image kernel-headers //那是两个 “-” 害的我搞了很长时间,因为是新手终于看到CC直接下载最新版本内核 wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.2-rc3.
2011-11-25 00:10:04 728
mpir-mpir-2.7.0+vsyasm-1.3.0-win64,直接可成功编译
2023-03-08
VMware虚拟机搭建Ubuntu-超详细
2023-03-01
测地线路径和距离算法综述 三维模型算法 曲率算法
2022-10-09
三维点云的特征点提取与配准技术研究
2022-06-16
深度学习在无人驾驶汽车领域应用的研究
2022-06-14
六自由度关节式机器人控制系统开发
2022-06-14
双目立体视觉深度感知与三维重建若干问题研究
2022-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人