
c++
deping_chen
2003年开始C++编程,精通C++,Qt,OSG,ThreeJS,愿意为您提供专业服务
展开
-
CMake 根据Debug/Release设置不同的连接目录
CMake对Debug/Release设置不同的连接目录原创 2023-02-10 12:42:06 · 964 阅读 · 0 评论 -
C++断点错位错误
修复C++断点和调用栈不匹配错误原创 2022-12-08 18:10:03 · 451 阅读 · 0 评论 -
MFC嵌入Qt窗口详细指导
在MFC嵌入Qt窗口的详细过程原创 2022-09-06 14:48:01 · 2778 阅读 · 0 评论 -
2021-01-27
OSG LOD崩溃当LOD的孩子共享顶点数据时,会崩溃。LOD的一个孩子是四边形,一个孩子是八边形。按需更新LOD。我这里为了简化就一直更新LOD。当CRASH_LOD 宏是 0,不崩溃,是1时崩溃。代码如下。也可见 https://github.com/openscenegraph/OpenSceneGraph/issues/1043/**************************************************************************** Copyr原创 2021-01-27 19:44:54 · 204 阅读 · 0 评论 -
OSG在Qt程序中不能显示三维图形的解决办法
发现我的Qt OSG窗口不能显示三维物体,另外一个Qt OSG程序可以。代码看不出任何问题。查看OSG日志也没发现异常。后来把正常程序的OSG的DLL和插件复制到不正常的程序,就可以正常显示了。总结起来是OSG编译时的CMake需要如下配置:为了使用高阶功能,我设置了OpenGL context version为3.3,选中OSG_GL3_AVAILABLE。注意:OSG_GL1_AVAILABLE也必须为true, OSG_GL_FIXED_FUNCTION_AVAILABLE必须为false。其他组原创 2020-11-11 15:27:05 · 1672 阅读 · 2 评论 -
Windows下安装编译CGAL
这里写自定义目录标题Windows下安装编译CGAL前提安装CGAL生成VS工程Windows下安装编译CGALCGAL是一个开源的计算几何算法C++库,几何算法库的编写其实很费脑,也很难处理各种corner case,有这个开源的库为什么不用呢?只是因为都是C++模板,还有一些概念需要学习,比较难以上手,但是应该是值得的。前提Visual Studio 2017+,CMake,Qt【可选,可从中科大开源镜像下载】,CGAL-5.1-Setup.exe, Eigen。Eigen是C++矩阵库,只要源原创 2020-10-27 10:35:14 · 598 阅读 · 0 评论 -
希尔排序C++实现
希尔排序是对插入排序的改进,在任意情况下减少移动次数。下面是C++版本。#include <iostream>#define _ITERATOR_DEBUG_LEVEL 0#include <vector>template<typename Iterator>void insertSortGap(Iterator begin, Iterator end, size_t gap){ // 必须定义_ITERATOR_DEBUG_LEVEL为0,否则下面一句在原创 2020-09-02 11:40:14 · 361 阅读 · 0 评论 -
Qt C++程序嵌入python解释器的代码摘录
我直接在Qt的例子程序textedit里面增加代码。CPython C API的文档非常晦涩,而且没有好的教程。API的解释不容易看懂,也没有例子辅助理解。看了很多文章,终于成功嵌入python解释器,并增加自定义模块。由于TextEdit类并没有什么值得暴露的方法和属性,我选择了向python添加QTextEdit的append方法。由于windows下CPython使用特定版本的Visual Studio,所以写扩展模块是必须选择与CPython编译时同样的Visual Studio 版本。CPy原创 2020-08-26 10:02:41 · 1320 阅读 · 0 评论 -
Freetype获得truetype字体宽度
通过Freetype库获得truetype字体宽度,如果有需要改进之处,请不吝赐教。很抱歉,这是用古老的MFC写的,但是你应该很容易的替换成标准库的字符串和容器。#include <iostream>#include <afx.h>#include <afxtempl.h>#include <shlobj_core.h>#include <ft2build.h>#include FT_FREETYPE_H#include FT_G原创 2020-08-12 18:03:06 · 1433 阅读 · 2 评论 -
中英文字体名映射
上篇文章可以把英文字体名映射到文件名,这篇文章(其实只有代码)通过DirectWrite库接着把中英文字体做个映射。#include <iostream>#include <dwrite.h>#include <string.h>#include <new>#include <string>#include <map>#include <locale>// SafeRelease inline functi原创 2020-08-12 16:46:14 · 507 阅读 · 0 评论 -
通过遍历注册表遍历windows truetype字体
通过遍历注册表遍历windows truetype字体,找出字体名和字体文件的对应关系。这个代码并没有找出字体名的本地化的名字。尝试使用摘录改编自Qt的qt_getEnglishName,但是GetFontData返回GDI_ERROR,失败。下面是代码,测试通过。#include <iostream>#include <vector>#include <Windows.h>#include <string>#include <locale原创 2020-08-12 15:36:51 · 485 阅读 · 0 评论 -
打印全排列和stl::next_permutation
打印全排列是个有点挑战的编程问题。STL提供了stl::next_permutation完美的解决了这个问题。但是,如果不看stl::next_permutation,尝试自己解决,怎么做?很自然地,使用递归的办法:1. 单个元素的排列只有1个。2. 多个元素的排列可以转化为: 以每个元素为排列的首个元素,加上其他元素的排列。有了思路,就可以编码了。第一个原创 2014-06-14 12:21:17 · 972 阅读 · 0 评论 -
简单算术表达式的求值程序
题目:写一个三则运算(加减乘)表达式的计算程序,为了简化,规定数字只有一位,表达式内没有空格,但允许有括号。满足四则运算的结合性和优先级。解答:首先写出BNF(包括结合性和优先权)。exp → exp addop term | t e r maddop → + | -term → term mulop factor | f a c t o rmulop原创 2014-05-15 16:43:18 · 2525 阅读 · 0 评论 -
求斐波那契单词的第n个字符
DefinitionLet be "0" and be "01". Now (the concatenation of the previous sequence and the one before that).The infinite Fibonacci word is the limit We have: 0 01 010 01原创 2014-06-05 17:07:02 · 1209 阅读 · 0 评论 -
求Fibonacci数的三种方法和时间复杂度解析
求Fibonacci数最快的方法,时间复杂度O(log n)原创 2014-05-11 12:58:56 · 9547 阅读 · 2 评论 -
求从1到n这n个整数的十进制表示中1出现的次数
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。效率尽可能高。例如:f(2)=1f(12)=5f(20)=12f(115)=44解决方案:最简单的方法是从1到n循环处理,计算每个数中1的个数,累加起来。这个效率很低。第二种方法是累加从1到n的所有数的个位十位百位等等上面1的个数,对于32位整数运算次数不超过10次。int n原创 2014-05-17 21:34:57 · 1739 阅读 · 0 评论 -
换还是不换,这是一个问题
给你三个盒子,其中一个放了东西,你指定一个,然后打开另外两个中的一个,发现是空的,问:你是否要改变你的选择。网上的答案说应该原创 2014-06-18 18:14:08 · 1211 阅读 · 1 评论 -
打印数字回环
题目要求:Input a value n, then print out a N×N matrix. Example 1: Input 2, then1 24 3 Example2: Input 4, then1 2 3 412 13 14 511 16 15 6 10 9 8 7Please write a program to原创 2014-06-20 20:25:57 · 1626 阅读 · 0 评论 -
四个线程写四个文件
题目:有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四 个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....请设计程序。解答:我的思路是这样的:当每个子线程准备就绪后,主线程发出原创 2014-05-24 11:52:30 · 1600 阅读 · 0 评论 -
脱离Qt的绘图系统(paint system)绘制图形
使用GDI在Qt窗口绘制在Qt 5.11上测试通过,代码很少,自己看,特地写个博客,希望可以帮到你。ReplayWidget.h#pragma once#include <QWidget>class ReplayWidget : public QWidget{ Q_OBJECTpublic: ReplayWidget(); ~Rep...原创 2018-09-17 10:58:24 · 563 阅读 · 0 评论 -
打印杨辉三角形
以等腰三角形形式打印杨辉三角。例如: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1代码如下:void print_line(int * line, int ln, int line_width){原创 2014-06-15 11:40:16 · 1065 阅读 · 0 评论