自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 矩形排料优化算法

算法效果 矩形排料优化算法排序效果如下两张图所示: 对标的排料软件 此算法对标仁霸排料软件。在矩形数量小于10块时,两种排序算法结果有的一样。有的结果相近。 算法的工程实用性 算法实现了一刀切的工艺要求。并可设置锯缝。实现了矩形长宽对调的功能。 算法不完善之处 此算法只实现了...

2020-05-06 19:37:23 412 0

原创 渲染模块发图记念

孤军作战。终于做完了渲染模块1.0版本。发图记念。

2011-06-08 16:33:00 831 0

原创 带洞多边形三角剖分发图留念

任意多边形三角剖分,终于完成了。^_^ 出售源码,价格私聊。 联系方式:微信 sunjingchao923 QQ 330363210 测试工程下载地址:腾讯微云

2011-05-04 15:58:00 2127 4

原创 Qt5.9版本的QtCreator调试问题

使用VS 2017.操作系统为 Win10. 使用CDB调试.安转CDB即可.它是Win10 SDK的一部分.Win10 SDK下载地址为:点这. 选择"下载安装程序".运行安装程序.选择 "Debugging Tools for Windows." ...

2020-04-28 21:11:10 79 0

原创 windows下编译VTK8.1.0

编译器为VS 2017。操作系统为Win10 64位。VTK源码版本为8.1.0。1.使用cmake生成vs工程文件。注意,运行完Configure后,出现了一个红框。我只勾选了BUILD_SHARED_LIBS。2.再次点击configure。之后点击Genrate生成vs工程文件。3.之后使用...

2018-03-15 12:25:08 1809 0

原创 构建自定义Docker容器实例

测试工程NodeHello 在此文件夹下,有文件Dockerfile、hi.js。Dockerfile内容为 FROM node:7.9.0 COPY . /app WORKDIR /app hi.js内容为: var http=require("http") var u...

2017-11-23 18:18:01 446 0

原创 实现算法导论第三版中红黑树插入算法

#include #include #include #include #include enum RBNODE_COLOR { RBNODE_COLOR_RED = 0, RBNODE_COLOR_BLACK }; struct RBNode { RBNode * p; R...

2017-05-15 10:25:05 555 0

原创 实现算法导论第三版中的二叉搜索树

使用C++实现。为了方便调试,加了一个输出函数。此函数,水平遍历树节点。 #include #include #include #include #include struct TNode { TNode * p; //parent node TNode * left; //le...

2017-05-09 17:31:02 286 0

原创 实现算法导论第三版中的MergeSort

去掉了原算法中的无穷大值。代码如下: #include #include #include #include void mergeSort(char arr[], int p, int r); int main() { char arr[]={'5', &...

2017-05-05 19:58:57 535 0

原创 Hadop_HDF分布式布置

网络配置 测试网络中有三台虚拟机。一台为NameNode,另两台为DataNode。 主机名          IP                  角色      ubuntu          192.167.8.189        NameNode ubuntu190       192...

2017-05-02 10:33:36 582 0

原创 Hadoop2.8.0 HDFS伪分布式布置

设置配置文件 etc/hadoop/core-site.xml: fs.defaultFS hdfs://localhost:9000 etc/hadoop/hdfs-site.xml: dfs.r...

2017-04-28 17:45:04 1988 0

原创 Redis主从复制机制分析

前言    作者阅读了《Redis设计与实现》(第二版)replication章节。想更深地了解replication机制。于是分析了Redis 3.2.8源码。并编写了这篇文章。如有分析不对的地方,还请各位包涵,指正。 从Slave端分析Replication机制       将Re...

2017-04-14 13:58:48 555 0

原创 使用Redis中skiplist的例子

使用Redis中skiplist的例子

2017-04-07 09:37:19 670 0

原创 使用Lemon编写最简单的SQL解析器

使用SQLite自带的Lemon解析器生成工具,制作最简单的解析器。以解析器仅解析Create table 语句。 以下的生成解析器所需的.y文件。 // All token codes are small integers with #defines that begin with "...

2017-03-28 09:40:59 1508 0

原创 SQLite创建表过程分析

创建表的过程总体分为两步:SQL编译过程,SQL执行过程。下图的sqlite3_prepare_v2分支为SQL编译过程。sqlite3_step分支为SQL执行过程。 SQLite创建一个表的过程很复杂。此图忽略了很多细节。此图仅概括了创建表的宏观过程。 创建一个表都如此复杂,执行I...

2017-03-28 09:32:22 577 0

原创 SQLite虚拟数据库引擎(一 )

文章主体为SQLite文档中的vdbe.html文档。此文介绍了SQLite虚拟机的细节。但此文档并没有及时更新。文档中描述的虚拟机是SQLite老版本的虚拟机。老的虚拟机基于栈。新版本的虚拟机基于寄存器。差别较大。基于本人对寄存器机制的理解,更新了部分文档。如果错误,请指正。

2017-03-27 14:08:20 1784 0

原创 SQLite使用JSON扩展

一、介绍     SQLite3.9.0之后的版本,添加了JSON扩展。在表中可以保存JSON类型。实际上SQLite将JSON类型的字段作为文本字段对待。但可对定义为JSON的字段,调用特点的函数,来实现JSON内容的增删改查。不用再自己用程序实现相似的增删改查操作。     SQLite的...

2017-03-08 14:58:35 11504 0

原创 C++跨平台的坑-重名类导致的崩溃问题

问题描述 多个同名类,方法大多相同,数据成员不同。分布在不同的动态库中。并没有导出此类。在Windows上正常,在Linux下崩溃。 崩溃原因 Windows和Linux生成动态库时,导出函数符号的机制不一样。Windows下,如果没有显示指定那个类为导出类,则不会导出此类。 而 ...

2017-01-19 17:11:58 741 0

原创 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 563 0

原创 寻找Windows下MySQL的错误日志

MySQL版本:5.6 Windows版本:Win7 64 MySQL的错误日志记录了MySQL服务器启动、关闭和运行时出错等信息。默认名称为host_name.err,保存在MySQL实例指定的data目录下。但在MySQL的安装目录下的data目录并没有此文件。 查看错误日志的路径: ...

2016-12-07 10:53:20 21576 1

原创 在windows上编译skia

在windows上编译skia

2016-11-06 15:23:04 1566 0

原创 SQLite文件格式初步分析之记录格式

表记录的格式     表的一条记录保存在cell中。一个保存记录的cell的格式如下图所示:   实例:以company表中的一条记录为例。见下图: 表结构的保存格式 sqlite_master表结构     创建、定义表结构的SQL语句,保存的SQLite内...

2016-10-01 15:44:57 1185 0

原创 SQLite文件格式初步分析之varint

varint为变长整数。长度为1到9个字节。最大可表示64位整数。     使用varint表示整数的原因:大多数情况下,整数数值比较小,如果使用64位整数保存的话,会浪费空间。           Varint格式如下(源于源码util.c): A = 0xxxxxxx    7位数据,...

2016-10-01 11:10:03 616 0

原创 SQLite文件格式初步分析

SQLite版本:3.14.1 总体结构 SQLite数据库文件由多个页面组成,每个页面的大小相同。这方便了程序读取页面。 页面结构 首页面结构如下: 文件头 大小为100个字节。只有首页面有文件头。 页面头 大小为8个字符,或12个字节。 Cell指针数...

2016-09-15 14:21:40 2673 0

原创 实现算法导论第三版中的BTree

只实现了插入、查找算法,未实现删除算法。 #include #include #include #define BTreeKey char #define T 2 //minmum degree #define TRUE 1 #define FALSE 0 struct BTree {...

2016-09-09 11:28:22 729 0

原创 在Windows下编译多源码文件版本SQLite

编译环境 操作系统:Win7 32 SQLite版本:3.14.1 编译器:VS2013 1、下载多源文件版本的SQLite源码 此处使用的源码包为sqlite-src-3140100.zip 2、安装TCL 8.5版本 此处使用的安装包为ActiveTcl8.5.18.0.298892-...

2016-09-03 13:54:44 1396 0

原创 QVariant自定义类型例子及机制分析

QVariant使用自定义类型的例子 #include #include #include #include void Test(); int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); ...

2016-08-25 14:37:16 3502 0

原创 C++犄角旮旯之宏函数作为参数

宏函数可作为另一个宏函数的参数。见下面的例子代码。 //testmacro.cpp #define DECLARE_ELEMENT(type, value, commit)\ type = value, #define DECLARE_COMMON_ELEMENTS(F)\ F(TYIN...

2016-08-25 11:05:28 437 0

原创 Linux C编程(8) 使用相对路径加载动态库-rpath和$ORIGIN

商业程序如何加载自己的so 使用LD_LIBRARY_PATH的缺点是要实现设置LD_LIBRARY_PATH。不够自动化。那么大型的商业程序是如何加载自己的so呢。 这里以QtCreator为例。 QtCreator安装在/home/xxx/Qt5.3.1目录下。使用ldd查看qtcre...

2016-08-06 20:05:30 7182 1

原创 Linux C编程(7) 使用相对路径加载动态库-LD_LIBRARY_PATH

Linux C编程(7) 使用相对路径加载动态库-LD_LIBRARY_PATH在编译出可执行文件后,运行此可执行文件。运行时,链接器会在LD_LIBRARY_PATH下搜索库文件。例子: 源码见上篇博文。 编译命令如下:gcc testso.c -fPIC -shared -o libtes...

2016-08-06 16:22:34 2356 0

原创 C++跨平台的坑-time_t问题

差异的原因 计算结果已超出32位int表示范围。但在win7平台下time_t为__int64,即是64 位int。不会溢出。 而在linux平台下,time_t为32位。溢出了,所以计算结果不对。

2015-02-04 17:09:04 2208 1

原创 在NDK中使用shared_ptr

在NDK中使用shared_ptr

2015-01-20 18:47:19 5435 0

原创 C++犄角旮旯之结构体数组初始化

#include using namespace std; struct TK { char * des; int i; }; #define PROJ_HEAD(id) {#id, 1}, //#id 将id换成字符串 int main() { struct TK tks [] ={...

2014-10-16 13:37:42 4764 0

原创 C++犄角旮旯之初始化字符串另类方法

见代码 #include using namespace std; const char dt[] = "china" "us" "jp"; int main() { cout << dt << endl...

2014-10-16 12:56:22 576 0

原创 Linux C编程(6) 使用动态库

生成动态库   文件名:TestSO.c #include "testso.h" #include #include void test_a() { printf("this is in test_a...\n"); } ...

2014-01-26 18:37:59 840 0

翻译 微软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 2190 0

原创 Linux C编程(5) 使用GCC参数定义宏

源代码如下 //main.cpp #include #ifdef _TEST2013 void PrintfInfo() { printf("Has Defined _TEST2013:Yes\n"); } #else void PrintfInfo() { pr...

2013-09-13 09:14:52 991 0

原创 在c++中int转十六进制八进制二进制字符串

仿java代码,在c++中i实现int转十六进制八进制二进制字符串。

2013-09-12 11:48:46 6349 0

原创 Linux C编程(5) 线程同步实例

#include #include #include pthread_mutex_t mutlock; pthread_cond_t condt; bool bIsOver = true; void Init() { pthread_mutex_init(&mutlock,NULL...

2013-09-12 10:42:49 898 0

原创 Android NDK中使用LOG调试C++程序

一、__adroid_log_print函数 使用__adroid_log_print函数,向调试端输出log。__adroid_log_print在android/log.h文件中。 __adroid_log_print函数原型为 int __android_log_print(int...

2013-09-12 10:13:47 3952 0

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