Fish的博客

Talk is cheap, show me the code.

MFC调用4.0.1版本libpqxx库连接postgresql数据库提示编译错误

在MFC编程中,调用4.0.1版本libpqxx库连接postgresql数据库,在会出现编译错误,具体的错误提示如下: fatal error C1189: #error :  "Oops: min() and/or max() are defined as preproce...

2016-04-05 14:07:12

阅读数 916

评论数 0

图文说明Visual Studio 2013编译libpqxx步骤以及常见编译错误

编译步骤 1.下载并安装postgresql,点击进入下载地址。本文下载版本为:postgresql-9.5.1-1-windows.exe 2.下载libpqxx,点击进入下载地址。本文下载版本为:libpqxx-4.0.1.tar.gz 3.编译准备 首先解压libpqxx-4...

2016-03-25 11:03:56

阅读数 3945

评论数 0

在DLL中定义宏ELPP_THREAD_SAFE会导致EasyLogging++初始化死锁的问题

最近在DLL中使用日志库EasyLogging++记录日志时,因为涉及到多线程,所以我定义了宏了ELPP_THREAD_SAFE来启用多线程安全,但是当我以静态方式调用DLL时,我发现应用程序启动后就没反应了,甚至连 main() 之类的入口函数都进不去。一开始根本不知道什么原因导致了这种情况,这...

2016-01-28 17:26:54

阅读数 1654

评论数 2

探讨WaitForMultipleObjects如何突破64个句柄的限制

DWORD WINAPI WaitForMultipleObjects( __in DWORD nCount, __in const HANDLE* lpHandles, __in BOOL bWaitAll, __in ...

2016-01-04 11:03:37

阅读数 627

评论数 0

Windows网络编程之Select模型学习笔记

关于select模型的理论讲解,网上随便一搜就有很多大神的精彩文章,这里就不重复造轮子了。不过要真正理解select模型,代码才是最好的文章。我在网上看了好多代码,可能是相互转载的原因,有些代码不是编译不过,就是逻辑不通,有些虽然可以正常运行,但是CPU暴涨;还有个别大神只给出了关键代码,这对于我...

2015-12-18 15:26:37

阅读数 3566

评论数 0

总结一个通用的文件配置类

在程序开发过程中经常要用到参数配置,通常的做法就是把参数保存在文件里,需要的时候再去读取。最近闲来无事,根据自己的经验总结了一个比较通用的文件配置类,以备不时之需。话不多说,效果如何,直接看代码。为了防止代码占用篇幅,这里只给出配置类的头文件定义,全部代码和Demo程序请点击下载地址。 配置类...

2015-12-04 17:43:44

阅读数 1109

评论数 0

友元函数和友元类

对于友元函数和友元类的印象一直是停留在最初的教学课本上,自己从来没有在实际的程序开发中应用过。最近在别人的代码中看到了友元函数和友元类,才发现自己除了知道“友元函数“和”友元类”这两个词以外,其他的竟然都不记得了。现在结合自己的理解和查阅的资料来记录下友元函数和友元类,防止以后忘记了又得重新到网上...

2015-12-03 10:12:32

阅读数 777

评论数 0

日志库EasyLogging++学习系列(11)—— 共享日志库

在前面的学习系列文章中,我们都是在单独的一个应用程序中使用 Easylogging++ 日志库。其实 Easylogging++ 日志库是可以共享给动态库、静态库以及应用程序共同使用的。在编写一些大型程序的时候,我们往往会把各个功能分别封装成一个动态库,然后再编写一个主程序来负责调用这些动态库就可...

2015-11-05 10:56:36

阅读数 2506

评论数 4

日志库EasyLogging++学习系列(10)—— 日志文件滚动

在很多应用场合,我们是需要实现日志文件滚动的,特别是在一些长期运行的服务器程序中,如果把所有的日志都记录在一个文件之中,势必会造成日志文件越来越大。当日志内容很多的时候,万一哪天突然需要查询某个日志信息就会显得十分不便。所以,支持日志文件滚动是很多日志库都支持的功能,而文件滚动又可以分为按大小滚动...

2015-11-03 15:54:52

阅读数 5546

评论数 0

日志库EasyLogging++学习系列(9)—— 性能跟踪功能

性能跟踪是 Easylogging++ 其中一个非常显著的功能,而且使用起来也十分简单。如果在Windows平台下使用性能跟踪的话,其原理是基于 Windows API函数 GetSystemTimeAsFileTime 实现的。关于API函数 GetSystemTimeAsFileTime 的精...

2015-11-02 16:17:49

阅读数 1863

评论数 1

日志库EasyLogging++学习系列(8)—— Verbose日志详解

这里之所以把Verbose日志单独拿出来讲,是因为最初接触 Easylogging++ 的时候,对Verbose级别的日志感到有点迷惑,并不是十分清楚其用法。不过后来发现,在不扩展日志级别的情况下,其实Verbose日志可以让我们轻松地记录更多更详细的信息,特别是在排错的日志记录中,使用Verbo...

2015-10-30 11:43:44

阅读数 3976

评论数 0

日志库EasyLogging++学习系列(7)—— 记录方式详解

在前面所列文章的演示代码中,其实已经展示了一部分记录日志的方式。为了使用方便,在 Easylogging++ 中,通过使用宏的集合来完成日志记录。

2015-10-28 17:09:10

阅读数 3635

评论数 1

日志库EasyLogging++学习系列(6)—— 日志记录器

所有的日志都是由日志记录器完成的,日志记录器使用唯一的 ID(大小写敏感)来标识。在 Easylogging++ 中默认了三个现有的日志记录器

2015-10-28 14:17:27

阅读数 2127

评论数 0

日志库EasyLogging++学习系列(5)—— 辅助配置功能

正如前面《日志库EasyLogging++学习系列(3)—— 配置功能》文中最后提到的,在某些应用场景下,我们还需要通过其他的一些配置手段来辅助我们完成某些特殊功能,这些辅助配置手段包括设置命令行参数、设置日志标记、配置宏定义。本文中就对这几个辅助配置功能逐一进行简要介绍。 命令行参数 下...

2015-10-27 17:18:39

阅读数 4966

评论数 1

日志库EasyLogging++学习系列(4)—— 格式说明符

上一篇文章中,主要记录了如何使用 Easylogging++ 的配置功能,有些细心的小伙伴可能已经发现遗漏了些什么,请看下面两句摘自 my_log.conf 配置文件的语句: FORMAT = "[%level | %datetime] | %msg" ...

2015-10-26 17:27:13

阅读数 2716

评论数 0

日志库EasyLogging++学习系列(3)—— 配置功能

在前面的文章 《日志库Easylogging++学习系列(1) —— 简要介绍 》中,我们已经初步见识到了 Easylogging++ 日志库强大的配置功能。那么配置文件中各个字段的意义是什么呢?我们应该如何编写自己的配置文件呢?又或者说,除了配置文件之外,我们还有没有别的方法可以完成日志的配置功...

2015-10-26 16:34:47

阅读数 6261

评论数 1

日志库EasyLogging++学习系列(2)—— 日志级别

在很多的C++日志库中,日志信息会根据严重性来划分级别,使用者可以设置严重性级别门阀值来控制日志的输出,即严重性级别在该门阀值以上的日志信息才进行记录。然而在Easylogging++中,故意默认采用了不划分级别的日志记录,以便使用者可以完全自主地启用或者禁止某个级别的日志记录。不过实际上,Eas...

2015-10-25 22:45:25

阅读数 4836

评论数 0

日志库EasyLogging++学习系列(1)—— 简要介绍

对于有开发经验的程序员来说,记录程序执行日志是一件必不可少的事情。通过查看和分析日志信息,不仅可以有效地帮助我们调试程序,而且当程序正式发布运行之后,更是可以帮助我们快速、准确地定位问题。在现在这个开源的年代,并不需要我们自己去写一套日志库,开源的版本已经有很多了。然而遗憾的是,在目前开源的C++...

2015-10-23 22:20:26

阅读数 8839

评论数 9

记录如何借助网盘搭建SVN服务器实现版本控制和代码同步

记录如何借助网盘搭建SVN服务器实现版本控制

2015-10-20 14:13:30

阅读数 1979

评论数 0

Visual Studio 2013开发MFC程序对Excel 2010进行写操作(下)

Visual Studio 2013开发MFC程序对Excel 2010进行写操作(下)

2015-10-15 22:35:33

阅读数 3627

评论数 2

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