摘要: 起源:之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分页导出 。。。为了应对用户的这些需求,我决定先写一个能够满足这些需求的导出功能封装库,于是就有了这个类库。选材:导出 Excel 完全靠自己写是不太实际的,因此需要使用一些现成的东西,目前导出 Excel 大约有一下方法:使用 COM 组件使用 OpenXMLSDK使用 NPOI使用 COM 组件,效率较低使用 OpenXmlSDK,目前智能生成 Office 2007 格式,还不够通用NPOI 是一个开源库,从 java 的 POI... 阅读全文
posted @ 2013-06-21 07:48 简单的逻辑 阅读(2959) 评论(33) 推荐(5) 编辑
摘要: 今天遇到一个奇怪的问题。开发环境:1. Eclipse CDT,使用 MinGW 的 gcc 编译器和函数库2. Visual Studio 2008问题描述:在 eclipse cdt 中用 gcc 编译了一个 dll,这个 dll 中有一个接收收 FILE* 参数的函数void thefunc(FILE* f) { fprintf(f, "Hello World!\n");}编译成 dll 后,在 MSVC 下使用这个 dll 中的 thefunc 函数,编译能通过,但运行时就会出现内存不能为 written 的错误。以下三种调用均是同样的问题:1.#include&l 阅读全文
posted @ 2013-06-20 15:09 简单的逻辑 阅读(1448) 评论(19) 推荐(3) 编辑
摘要: 0. libjpeg 介绍libjpeg 是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。参考:http://zh.wikipedia.org/wiki/Libjpeg本文基于 libjpeg9 对使用 libjpeg 保存图片时因磁盘写入失败导致程序退出的问题进行分析,文中的代码和解决问题的方法均可结合 libjpeg9 编译通过。1.使用 libjpeg 保存图片的方法。 不多说,直接上代码:/** * 将 rgb 数据保存到 jpeg 文件 */int rgb_to_jpeg(LPRgbImage im. 阅读全文
posted @ 2013-05-27 14:12 简单的逻辑 阅读(3105) 评论(0) 推荐(1) 编辑
摘要: 上初中的时候,中央台放 94 版的《三国演义》,整部电视剧可谓气势磅礴,演员的表演堪称经典,为我们展示出一幅幅波澜壮阔、惊心动魄的战斗风云图。尤以赵子龙单枪匹马于曹军的万军从中怀抱阿斗突围的一段让我印象深刻。此后有起各种有关赵子龙的传说,赵子龙在我心中已经是一个神。 那一段名叫七进七出。 赵子龙为寻找在乱军中走失的糜夫人和刘备的儿子阿斗,在百万曹军中杀来杀去,七进七出,最后护着后主刘禅,不但成功突围还杀了曹操几十员大将的事情。 刘备接过赵云血怀中的孩子,气愤的往地上一丢。 说道:“为此竖子,几损我一员大将!” 赵云忙接住,感激的痛哭流涕,从此对刘备死心踏地。 94 版的《三国演... 阅读全文
posted @ 2013-03-17 15:58 简单的逻辑 阅读(1141) 评论(0) 推荐(1) 编辑
摘要: 在使用 eclipse cdt 进行 c/c++ 开发时,发现 printf 和 cout 等的输出都不能即时显示。初步认为是输出被缓存的缘故。目前有一下解决方法:在程序的开始加入 setbuf(stdout, NULL) 来取消输出缓存。在每一个输出函数后加上 fflush(stdout) 来刷新缓存。在项目的运行配置中做如下设置:进入 RunConfigurations->Environment。添加环境变量:Name:PATHValue:C:\MinGW\bin即在运行设置中增加Path=C:\MinGW\bin方法 1 和方法 2 都好理解,方法 3 还不知道是什么原理,而且经过 阅读全文
posted @ 2013-03-14 10:50 简单的逻辑 阅读(1017) 评论(0) 推荐(3) 编辑
摘要: 可变参数给编程带来了很大的方便,在享受它带来的方便的同时,很有必要了解一下其实现方式,在了解编程语言的同时,也可以扩展编程的思路。可变参数的实现要解决三个问题:如何调用带有可变参数的函数如何编译有可变参数的程序在带有可变参数的函数体中如何持有可变参数第一个问题,调用时在可以传入可变参数的地方传入可变参数即可,当然,还有一些需要注意的地方,后面会提到。第二个问题,编译器需要在编译时采用一种宽松的检查方案,,这会带来一些问题,比如对编程查错不利。第三个是我在这里要关心的问题,先以C语言为例分析其实现原理。printf和scanf是C语言标准库中最常见的可变参数函数,printf的签名是int pr 阅读全文
posted @ 2013-03-13 22:21 简单的逻辑 阅读(1773) 评论(1) 推荐(1) 编辑
摘要: 在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢?通常,在链接库文件时,需要一个 (.lib)文件,lib 文件分为两种:一种为静态链接库(StaticLibary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(ImportLibary,以下简称“导入库”)。VC 在链接 dll 时,需要根据导入库(.lib)来定位 dll 中的符号位置。没有这个文件,VC 链接器将不能正常链接。解决此问题的办法有三个:使用DLL to Lib 工具,根据 dll 文件生成 lib 文件。使用 LoadLibrar 阅读全文
posted @ 2013-03-13 14:45 简单的逻辑 阅读(2420) 评论(3) 推荐(1) 编辑