- 博客(194)
- 资源 (23)
- 收藏
- 关注

原创 矩形排料优化算法
算法效果矩形排料优化算法排序效果如下两张图所示:对标的排料软件此算法对标仁霸排料软件。在矩形数量小于10块时,两种排序算法结果有的一样。有的结果相近。算法的工程实用性算法实现了一刀切的工艺要求。并可设置锯缝。实现了矩形长宽对调的功能。算法不完善之处此算法只实现了单张板排序。未做大量矩形排版的测试。在对调矩形长宽时,优化算法为了减少计算时间,减少了内部排列组合的数...
2020-05-06 19:37:23
9213
6

原创 带洞多边形三角剖分发图留念
任意多边形三角剖分,终于完成了。^_^出售源码,价格私聊。联系方式:微信 sunjingchao923 QQ 330363210测试工程下载地址:腾讯微云
2011-05-04 15:58:00
3007
3
原创 集装箱装箱算法及系统
用户导入产品基本信息表,每个货号代表一种货物,它放一个立方体中,此立方体称为托。之后,用户导入订单表,其中的货号是顾客订购的货物。用户选好目的港、集装箱类型等信息,集装箱排柜系统开始计算。计算完成后,显示此集装箱的装箱计划概要。概要里包括此集装箱容纳的货物。及集装箱的配重图执行动画功能,显示集装箱装柜动画。
2024-08-02 16:04:59
378
原创 OSG嵌入到Qt5
OSG版本:3.6.5 32位Qt版本:5.12.4 32位VS版本:VS2017找了一天,发现了这样一段代码,实现了OSG嵌入到Qt5中。代码如下:#include <QApplication>#include <QMainWindow>#include <QOpenGLWidget>#include <QMouseEvent>#include <QWheelEvent>#include <Q...
2021-10-03 09:52:23
572
原创 编译OSG3.6.3后无法加载png jpg图片的解决方法
编译环境:Win10 vs2017要编译OSG的位数:64位我编译OSG时,问题出在CMake的配置项ACTUAL_3RDPARTY_DIR指向的目录的目录结构。目录结构是这样这样,使用CMake生成的VS2017工程,才会有png、jpg插件。才能正常读取png、jpg图片。...
2020-06-07 18:38:06
1683
原创 Qt5.9版本的QtCreator调试问题
使用VS 2017.操作系统为 Win10.使用CDB调试.安转CDB即可.它是Win10 SDK的一部分.Win10 SDK下载地址为:点这.选择"下载安装程序".运行安装程序.选择 "Debugging Tools for Windows."安装即可.安转完成后,重启QtCreator.就可以调试了....
2020-04-28 21:11:10
940
原创 windows下编译VTK8.1.0
编译器为VS 2017。操作系统为Win10 64位。VTK源码版本为8.1.0。1.使用cmake生成vs工程文件。注意,运行完Configure后,出现了一个红框。我只勾选了BUILD_SHARED_LIBS。2.再次点击configure。之后点击Genrate生成vs工程文件。3.之后使用vs 2017编译。4.Demo程序如下:#include <vtkAutoInit.h>...
2018-03-15 12:25:08
3051
原创 构建自定义Docker容器实例
测试工程NodeHello在此文件夹下,有文件Dockerfile、hi.js。Dockerfile内容为FROM node:7.9.0COPY . /appWORKDIR /apphi.js内容为:var http=require("http")var url=require("url");var util=require("util");function on
2017-11-23 18:18:01
655
原创 实现算法导论第三版中红黑树插入算法
#include #include #include #include #include enum RBNODE_COLOR{ RBNODE_COLOR_RED = 0, RBNODE_COLOR_BLACK};struct RBNode{ RBNode * p; RBNode * left; RBNode * right; int key; enum
2017-05-15 10:25:05
760
原创 实现算法导论第三版中的二叉搜索树
使用C++实现。为了方便调试,加了一个输出函数。此函数,水平遍历树节点。#include #include #include #include #include struct TNode{ TNode * p; //parent node TNode * left; //left child node TNode * right; //right child node i
2017-05-09 17:31:02
437
原创 实现算法导论第三版中的MergeSort
去掉了原算法中的无穷大值。代码如下:#include #include #include #include void mergeSort(char arr[], int p, int r);int main(){ char arr[]={'5', '2', '4', '7', '1', '8', '3', '2', '6'}; int count = sizeof(a
2017-05-05 19:58:57
717
原创 Hadop_HDF分布式布置
网络配置测试网络中有三台虚拟机。一台为NameNode,另两台为DataNode。主机名 IP 角色 ubuntu 192.167.8.189 NameNodeubuntu190 192.167.8.190 DataNode1ubuntu192 19
2017-05-02 10:33:36
777
原创 Hadoop2.8.0 HDFS伪分布式布置
设置配置文件etc/hadoop/core-site.xml: fs.defaultFS hdfs://localhost:9000 etc/hadoop/hdfs-site.xml: dfs.replication 1 dfs.namenode.name.dir /h
2017-04-28 17:45:04
2195
原创 Redis主从复制机制分析
前言 作者阅读了《Redis设计与实现》(第二版)replication章节。想更深地了解replication机制。于是分析了Redis 3.2.8源码。并编写了这篇文章。如有分析不对的地方,还请各位包涵,指正。从Slave端分析Replication机制 将Redis实例设置成Slave。主要流程,见下图。 第一步在replication
2017-04-14 13:58:48
882
原创 使用Lemon编写最简单的SQL解析器
使用SQLite自带的Lemon解析器生成工具,制作最简单的解析器。以解析器仅解析Create table语句。以下的生成解析器所需的.y文件。// All token codes are small integers with #defines that begin with "TK_"%token_prefix TK_// The type of the data att
2017-03-28 09:40:59
2478
原创 SQLite创建表过程分析
创建表的过程总体分为两步:SQL编译过程,SQL执行过程。下图的sqlite3_prepare_v2分支为SQL编译过程。sqlite3_step分支为SQL执行过程。SQLite创建一个表的过程很复杂。此图忽略了很多细节。此图仅概括了创建表的宏观过程。创建一个表都如此复杂,执行INSERT,SELECT等SQL应该会更复杂。这注定了SQL类型的数据库,不能满足高频写入的需求。
2017-03-28 09:32:22
826
原创 SQLite虚拟数据库引擎(一 )
文章主体为SQLite文档中的vdbe.html文档。此文介绍了SQLite虚拟机的细节。但此文档并没有及时更新。文档中描述的虚拟机是SQLite老版本的虚拟机。老的虚拟机基于栈。新版本的虚拟机基于寄存器。差别较大。基于本人对寄存器机制的理解,更新了部分文档。如果错误,请指正。
2017-03-27 14:08:20
2414
原创 SQLite使用JSON扩展
一、介绍 SQLite3.9.0之后的版本,添加了JSON扩展。在表中可以保存JSON类型。实际上SQLite将JSON类型的字段作为文本字段对待。但可对定义为JSON的字段,调用特点的函数,来实现JSON内容的增删改查。不用再自己用程序实现相似的增删改查操作。 SQLite的JSON扩展,定义在json1.c中。此文件位于源码路径下的ext/misc中。 SQLit
2017-03-08 14:58:35
26670
2
原创 C++跨平台的坑-重名类导致的崩溃问题
问题描述多个同名类,方法大多相同,数据成员不同。分布在不同的动态库中。并没有导出此类。在Windows上正常,在Linux下崩溃。崩溃原因Windows和Linux生成动态库时,导出函数符号的机制不一样。Windows下,如果没有显示指定那个类为导出类,则不会导出此类。而 Linux下却不是这样。Linux会导出所有的符号。在Linux下,可执行文本调用的导出类就会出现混乱
2017-01-19 17:11:58
1315
原创 QtCreator 4.0 Q5.7 VS2015 源码中有中文导致编译失败的问题的解决方法
1、使用带bom的UTF8文件格式2、, 在代码中添加#pragma execution_character_set("utf-8")3、使用notepad++打开原有源码文件,执行“转为UTF-8编码格式”。在编译源码就可以了。
2017-01-06 23:26:01
940
原创 寻找Windows下MySQL的错误日志
MySQL版本:5.6Windows版本:Win7 64MySQL的错误日志记录了MySQL服务器启动、关闭和运行时出错等信息。默认名称为host_name.err,保存在MySQL实例指定的data目录下。但在MySQL的安装目录下的data目录并没有此文件。查看错误日志的路径:发现是相对路径。不能定位此文件在哪个目录下。我的MySQL以服务方式启动。
2016-12-07 10:53:20
36246
1
原创 SQLite文件格式初步分析之记录格式
表记录的格式 表的一条记录保存在cell中。一个保存记录的cell的格式如下图所示: 实例:以company表中的一条记录为例。见下图:表结构的保存格式sqlite_master表结构 创建、定义表结构的SQL语句,保存的SQLite内部使用的表sqlite_master中。Sqlite_master的表结构如下:CREATE TA
2016-10-01 15:44:57
1625
原创 SQLite文件格式初步分析之varint
varint为变长整数。长度为1到9个字节。最大可表示64位整数。 使用varint表示整数的原因:大多数情况下,整数数值比较小,如果使用64位整数保存的话,会浪费空间。 Varint格式如下(源于源码util.c):A = 0xxxxxxx 7位数据,一个标志位(这里就是高位的0)B = 1xxxxxxx 7位数据,一个标志位(这里就是高位的
2016-10-01 11:10:03
939
原创 SQLite文件格式初步分析
SQLite版本:3.14.1总体结构SQLite数据库文件由多个页面组成,每个页面的大小相同。这方便了程序读取页面。页面结构首页面结构如下:文件头大小为100个字节。只有首页面有文件头。页面头大小为8个字符,或12个字节。Cell指针数组每个cell数组元素大小为2
2016-09-15 14:21:40
4456
原创 实现算法导论第三版中的BTree
只实现了插入、查找算法,未实现删除算法。#include #include #include #define BTreeKey char#define T 2 //minmum degree#define TRUE 1#define FALSE 0struct BTree{struct BTreeNode * root;};struct BTreeNode{in
2016-09-09 11:28:22
886
原创 在Windows下编译多源码文件版本SQLite
编译环境操作系统:Win7 32SQLite版本:3.14.1编译器:VS20131、下载多源文件版本的SQLite源码此处使用的源码包为sqlite-src-3140100.zip2、安装TCL 8.5版本此处使用的安装包为ActiveTcl8.5.18.0.298892-win32-ix86-threaded.exe3、设置TCL路径到P
2016-09-03 13:54:44
1776
原创 QVariant自定义类型例子及机制分析
QVariant使用自定义类型的例子#include #include #include #include void Test();int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); Test(); return a.exec();}class Cup{ publi
2016-08-25 14:37:16
4905
原创 C++犄角旮旯之宏函数作为参数
宏函数可作为另一个宏函数的参数。见下面的例子代码。//testmacro.cpp#define DECLARE_ELEMENT(type, value, commit)\ type = value,#define DECLARE_COMMON_ELEMENTS(F)\ F(TYINT32, 0, int)\ F(TYCHAR, 1, char)enum BASE_TYPE
2016-08-25 11:05:28
1059
原创 Linux C编程(8) 使用相对路径加载动态库-rpath和$ORIGIN
商业程序如何加载自己的so 使用LD_LIBRARY_PATH的缺点是要实现设置LD_LIBRARY_PATH。不够自动化。那么大型的商业程序是如何加载自己的so呢。 这里以QtCreator为例。 QtCreator安装在/home/xxx/Qt5.3.1目录下。使用ldd查看qtcreator依赖的so。rpath ORIGN
2016-08-06 20:05:30
14777
2
原创 Linux C编程(7) 使用相对路径加载动态库-LD_LIBRARY_PATH
Linux C编程(7) 使用相对路径加载动态库-LD_LIBRARY_PATH在编译出可执行文件后,运行此可执行文件。运行时,链接器会在LD_LIBRARY_PATH下搜索库文件。例子: 源码见上篇博文。 编译命令如下:gcc testso.c -fPIC -shared -o libtest.sogcc main.c -o test -ltest -L./运行test,出现如下错误。./t
2016-08-06 16:22:34
3835
原创 C++跨平台的坑-time_t问题
差异的原因计算结果已超出32位int表示范围。但在win7平台下time_t为__int64,即是64 位int。不会溢出。而在linux平台下,time_t为32位。溢出了,所以计算结果不对。
2015-02-04 17:09:04
2992
原创 C++犄角旮旯之结构体数组初始化
#include using namespace std;struct TK{ char * des; int i;};#define PROJ_HEAD(id) {#id, 1},//#id 将id换成字符串int main(){ struct TK tks [] ={PROJ_HEAD("eac") {0,0}}; cout << tks[0].des <
2014-10-16 13:37:42
8585
1
原创 C++犄角旮旯之初始化字符串另类方法
见代码#include using namespace std;const char dt[] = "china""us""jp";int main(){ cout << dt << endl; return 0;}结果如下
2014-10-16 12:56:22
669
原创 Linux C编程(6) 使用动态库
生成动态库 文件名:TestSO.c#include "testso.h"#include #include void test_a(){ printf("this is in test_a...\n");} void test_b(){ printf("this is in test_b...\n");} vo
2014-01-26 18:37:59
977
翻译 微软RPC官方教程
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379010(v=vs.85).aspx注意:原文版本较老,我更新和改变了部分内容。并提供了完整的程序。编译环境SDK 7.0 WinXP VS2010。RPC官方教程 此手册可使你从已经存在的单独程序,一步步地创建简单的、单客户端、单服务端的分布
2013-12-01 21:26:05
3324
原创 Linux C编程(5) 使用GCC参数定义宏
源代码如下//main.cpp#include #ifdef _TEST2013void PrintfInfo(){ printf("Has Defined _TEST2013:Yes\n");}#elsevoid PrintfInfo(){ printf("Has Defined _TEST2013:No\n"); }#endifint main(){
2013-09-13 09:14:52
1169
OCC之HelloWorld.rar
2012-07-23
插件体系入门源码(vs2005)
2010-02-10
JSP数据库开发实例精粹源码7
2008-05-28
JSP数据库开发实例精粹源码6
2008-05-28
JSP数据库开发实例精粹源码(2-3)
2008-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人