C/C++
kraussyin
这个作者很懒,什么都没留下…
展开
-
深入理解sizeof
一、好首先看看sizeof和strlen在MSDN上的定义: 首先看一MSDN上如何对sizeof进行定义的:sizeof Operatorsizeof expressionThe sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (incl原创 2009-07-23 20:22:00 · 469 阅读 · 0 评论 -
Windows环境下log4cxx的编译及使用
<br /> <br /> 1.介绍<br /> Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。有关log4cxx的更多信息可以从Apache Loggin Service的网站http://logging.apache.org获得。当前的最新版本为0.10.0,本文内容及示例代码都是基于此版本。<br />2.获取软件包<br />原创 2011-03-10 11:38:00 · 1300 阅读 · 0 评论 -
开源log4j日志查看工具chainsaw
log4j日志的图形化管理工具,Log4j开发团队的开源作品。 还用记事本、写字板、kwrite...甚至vi查看内容繁杂的log吗?用chainsaw这个东东吧! http://logging.apache.org/chainsaw/index.html可以配置很多种日志来源,如socket,multicast,udp等等!!原创 2011-03-18 15:09:00 · 2792 阅读 · 0 评论 -
log4cxx编译方法
0、下载http://logging.apache.org/log4cxx/ 1、先下载如下源代码包apr-1.3.3.tar.bz2apr-util-1.3.4.tar.bz2apache-log4cxx-0.10.0.tar.gz2、将上述包上传到同一个目录下3、安装apr安装步骤:tar xjf apr-1.3.3.tar.bz2cd apr-1.3.3./configure --prefix=/usr/local/apr-1.3.3makemake install4、安装apr-util安装步骤原创 2011-03-23 17:26:00 · 1128 阅读 · 1 评论 -
log4cxx编译方法
<br />0、下载<br />http://logging.apache.org/log4cxx/ <br /><br /><br />1、先下载如下源代码包<br />apr-1.3.3.tar.bz2<br />apr-util-1.3.4.tar.bz2<br />apache-log4cxx-0.10.0.tar.gz<br /><br />2、将上述包上传到同一个目录下<br /><br />3、安装apr<br />安装步骤:<br />tar xjf apr-1.3.3.tar.bz2<原创 2011-03-23 17:23:00 · 541 阅读 · 0 评论 -
log4cplus学习笔记(二)
log4cplus在很多方面做的都很出色,但是使用过程有些地方感觉不爽。在继续吹捧之前我先把不爽之处稍微提一提,然后继续介绍关于线程和套接字的知识。### 一些可以改进之处 ###1. 用户自定义LogLevel的实现机制不够开放在第五篇中曾经介绍过如何实现用户自行定义LogLevel,为了实现比较理想的效果,甚至还需要改log4cplus的源代码。:(2. 生成Log转载 2011-11-28 13:38:39 · 738 阅读 · 0 评论 -
log4cplus学习笔记(一)
(一)log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工程中会比较专业的,:),本文介绍了log4cplus基本概念,以及如何安装,配置。 ### 简介 ###log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵转载 2011-11-28 13:38:08 · 793 阅读 · 0 评论 -
Linux 可移植性(软件可移植)
Linux可移植性,如何才能实现软件预期的灵活性.不同硬件和软件平台用户都可以不做任何修改或者只做极少的修改就可以使用软件.常见的可移植性需求有:a.平台之间的可移植,例如unix和linux以及macb.linux不同发行版之间使用可移植函数库并充分使用各种自动配置工具编写的linux可以满足以上要求. 1.抽象层在linux内核之上穿件标准化函数库,例如glibc转载 2011-12-08 15:49:38 · 3445 阅读 · 0 评论 -
PDF文件的读写(使用SDK).(一).闲谈PDF SDK
最近需要对PDF文件进行一些简单操作,因此花费了点时间,研究了一把。 PDF文件格式很早就由Adobe公司推出来了,到今天已日趋完善,广泛应用于各行各业。但通常情况下,对于PDF文件的读操作,都是免费的,而编辑、创建等功能,则是收费的。比如Adobe自己开发的Reader,以及现在广为流行的轻量级PDF工具Foxit Reader等等。其实,这些Reader对应地还发布有PDF转载 2011-12-08 15:51:23 · 1316 阅读 · 0 评论 -
PDF文件的读写(使用SDK).(二).编译生成免费的PoDoFo
PoDoFo是一个免费的开源的PDF开发库。PoDoFo这个名字很有趣,根据它附带的README.HTM文件说明,它源于:Portable Document Format。三个大写字母就是“PDF”,而用“o”来隔开。 PoDoFo下载地址:http://podofo.sourceforge.net/index.html我写本文时,它刚发布0.9.1版没多久。 PoDoF转载 2011-12-08 15:52:06 · 1613 阅读 · 1 评论 -
PDF文件的读写(使用SDK).(三).PoDoFo的简单应用
在免费的PDF SDK中,我选择了PoDoFo,这也是无奈之举。因为我在网上搜索到的众多免费PDF SDK,绝大多数都是功能比较单一的。要么只能显示PDF,要么只能创建PDF。而对PoDoFo的描述是:操纵PDF……OK,那就是它了。 按前面所说的操作,编译好PoDoFo,这时候,你会得到好几个文件。不过,你需要注意的,只有两个:PoDoFo.dll和PoDoFo.lib。前者是在运行程序转载 2011-12-08 15:52:45 · 1906 阅读 · 0 评论 -
Symmetric NAT与Cone NAT
Symmetric NAT与Cone NAT现在我们知道,通过NAT,,内网的计算机向外连结是很容易的。NAT对于内网和外网的计算机是透明的。内网的机器欲访问外面的机器,可在NAT上“打洞”,而且这个“洞”是有方向的。也就是让NAT建一个session,从而建立映射。 那么,如果同一个进程,与外网的两台机器,同时建立联系,情况又是如何呢。 如图所示:Clien转载 2012-04-17 15:38:32 · 710 阅读 · 0 评论 -
使用 OpenSSL API 进行安全编程
Kenneth Ballard (kenneth.ballard@ptk.org), 自由程序员Kenneth 是 Peru State College(位于 Peru, Nebraska)计算机科学专业的大四学生。他还是学生报 The Peru State Times 的职业作者。他拥有 Southwestern Community College (位于 Creston, Iowa)计算机编程专业的理学副学士(Associate of Science)学位,在这所大学里,他是一名半工半读的 PC 技术员原创 2010-11-06 18:34:00 · 654 阅读 · 1 评论 -
在Linux上的使用开源C++日志库---log4cplus
<br />1.简 介<br /><br /> log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。<br /><br /> log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期;你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。<br原创 2010-11-06 18:32:00 · 1251 阅读 · 0 评论 -
C++内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、原创 2009-07-23 20:23:00 · 396 阅读 · 0 评论 -
C89和C99标准比较
1、增加restrict指针C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。如果某个函数定义了两个restrict指针变元,编译程序就假定它原创 2009-07-23 20:28:00 · 571 阅读 · 0 评论 -
GUI application run in console mode
10月11日GUI application run in console mode//Purpose of the following code is to demonstrate a way that a GUI program running console mode and output to console window.BOOL CTestGuiConsoleApp::InitI原创 2010-03-15 23:09:00 · 868 阅读 · 0 评论 -
Openssl安装以及初步编程
<br />Linux下编译及安装: <br />#tar xzvf openssl-0.9.7d.tar.gz 解压缩 <br />#cd openssl-0.9.7ed 转到解压目录下 <br />#./config --prefix=/usr/local/openssl ( --prefix )参数为欲安装之目录,也就是安装后的档案会出现在该目录下 <br />#make 编译 <br />#make test 测试 <br />#make install 安装 <br /><br />Windo转载 2010-10-14 18:39:00 · 707 阅读 · 0 评论 -
ASIO
<br />构造函数<br />构造函数的主要动作就是调用CreateIoCompletionPort创建了一个初始iocp。<br />Dispatch和post的区别<br />Post一定是PostQueuedCompletionStatus并且在GetQueuedCompletionStatus 之后执行。<br />Dispatch会首先检查当前thread是不是io_service.run/runonce/poll/poll_once线程,如果是,则直接运行。<br />poll和run的区别<转载 2010-10-14 17:50:00 · 1094 阅读 · 0 评论 -
VC6.0 编译报错:"error C2220: warning treated as error - no 'object' file generated"的解决办法
<br />内容提要:VC6.0编译报错:"error C2220: warning treated as error - no 'object' file generated"<br />原因是:warning treated as error 意思是将警告当成错误,这是编译选项的问题,将警告级别设置得高导致的错误。<br />解决的办法是:将警告级别设置为低。<br /><br />这种错误的原因是:<br />1)<br />是该文件的代码页为英文,而我们系统中的代码页为中文。<br />解决方案:<原创 2010-10-14 18:44:00 · 1324 阅读 · 0 评论 -
关于Xerces-C++的一篇介绍文章
<br />Xerces-C++是什么?<br /> Xerces-C++ 的前身是 IBM 的 XML4C 项目。XML4C 和 XML4J 是两个并列的项目,而 XML4J 是 Xerces-J——Java 实现——的前身。IBM 将这两个项目的源代码让与 Apache 软件基金会(Apache Software Foundation),他们将其分别改名为 Xerces-C++ 和 Xerces-J。这两个项目是 Apache XML 组的核心项目(如果看到的是“Xerces-C”而不是“Xer原创 2010-10-15 12:23:00 · 742 阅读 · 0 评论 -
充分利用 Xerces-C++,第 1 部分
<br />这篇分为两个部分的文章对 Xerces-C++ XML 库作了介绍。第1部分解释如何将这个库链接到在 Linux 和 Windows 中编写的应用程序。大量的代码展示了用 SAX API 进行解析的情况,还有一个示例应用程序显示了如何以 ASCII 艺术的形式创建一个条形图。在第 2 部分,我将展示如何装载、操作或者合成一个 DOM 文档,您还会看到如何用可伸缩矢量图(Scalable Vector Graphics,SVG)创建同样的条形图。C++ 程序员阅读这些文章之后应该可以容易地在他们的原创 2010-10-15 12:25:00 · 833 阅读 · 0 评论 -
充分利用 Xerces-C++,第 2 部分
<br />这篇分为两个部分的文章介绍了 Xerces-C++ XML 库。在本第 2 部分中,Rick Parrish 展示了如何装载、操作或者合成一个文档对象模型(DOM)文档,以及如何用可伸缩矢量图形(SVG)重新创建第1部分中的条形图。C++ 程序员阅读这些文章 之后应该可以在他们的应用程序中容易地增加 XML 解析和处理能力。<br />在 第 1 部分,您看到了如何将库链接到在 Linux 和 Windows 中编写的应用程序,以及如何用 SAX API 进行解析。一个示例应用程序展示了如何创建原创 2010-10-15 12:25:00 · 539 阅读 · 0 评论 -
C++之tinyXML使用
<br /> tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你的工程中,没有STL也可以编译运行。 <br /> <br /> 下面我从这几个方面谈谈对tinyXML类库的使用以及理解。 <br /><br /> 首先在sourceforge上下载tinyXML类库,地址:http://sourceforge.net/projects/ti原创 2010-10-15 12:29:00 · 1733 阅读 · 0 评论 -
便利的开发工具-log4cpp快速使用指南
<br />简介: log4cpp是个基于LGPL的开源项目,是基于优秀的日志处理跟踪项目Java语言的log4j移植过来的。log4j介绍的文档很多,在java领域使用的也比较广泛,而这个功能强大的库对国内的C++语言开发人员却使用的不多。这里从开发人员使用的角度介绍这个库,使开发人员用最少的代价尽快掌握这种技术。下面先简单介绍一下这个项目的优点(也是log4j的优点),然后分原理,手动使用步骤,配置文件驱动方式使用步骤,其他考虑等方面进行讨论。以下讨论基于log4cpp0.3.4b。<br /> <br原创 2010-10-31 01:33:00 · 715 阅读 · 0 评论 -
Linux 与 CONE NAT 和 Symmetric NAT
Linux 与 CONE NAT 和 Symmetric NAT 1. NAT 的划分RFC3489 中将 NAT 的实现分为四大类: 1. Full Cone NAT 完全锥形 NAT 2. Restricted Cone NAT 限制锥形 NAT转载 2012-04-17 15:40:08 · 512 阅读 · 0 评论