1.Log4cpp和安装
2.Log4cppçä¸è½½å®è£
3.LGPLLGPL概念
4.请问使用最普遍的源码C++开发工具是什么?
5.Log4cppçä¼ç¹
Log4cpp和安装
要下载Log4cpp,推荐版本为0.3.5rc3,源码因其在VC中表现稳定。源码你可以从官方网站获取两个压缩包:log4cpp-0.3.5rc3.tar.gz(源代码)和log4cpp-docs-0.3.5rc3.tar.gz(文档)。源码解压后,源码将它们存放在D盘根目录。源码机器码授权验证源码 接下来,源码在VC6中进行编译。源码首先,源码进入D:\log4cpp-0.3.5rc3\msvc6目录,源码打开工作区msvc6.dsw。源码在此过程中,源码删除所有工程,源码仅保留log4cpp和log4cppDLL两个项目,源码然后分别构建Debug和Release版本。源码 注意,编译过程中可能会遇到一个错误,即头文件Priority.hh中的变量定义与赋值问题。原始代码是:cpp
static const int MESSAGE_SIZE = 8;
应将其修改为:
cpp
static const int MESSAGE_SIZE;
并在Priority.cpp文件中相应位置添加:
cpp
const int log4cpp::Priority::MESSAGE_SIZE = 8;
成功编译并链接后,你将得到log4cppD.dll、jass源码log4cppD.lib(Debug版),以及log4cpp.dll、log4cpp.lib(Release版)。将这四个文件复制到新创建的D:\log4cpp-0.3.5rc3\lib目录中。
在VC环境中,别忘了设置lib和include路径。将D:\log4cpp-0.3.5rc3\lib目录添加到系统的Path环境变量中,以便VC可以正确识别和引用Log4cpp库。扩展资料
Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、syslog和远程syslog服务器中。Log4cppçä¸è½½å®è£
2.1 ä¸è½½ä¸è½½çæ¬0.3.5rc3ï¼è¿ä¸ªçæ¬ç®åæ¯æ稳å®çï¼çæ¬1.0å¨VCä¸è¡¨ç°ä¸ç¨³å®ãä¸è½½åçå åå为ï¼log4cpp-0.3.5rc3.tar.gz(æºä»£ç å )ålog4cpp-docs-0.3.5rc3.tar.gz(ææ¡£å缩å )ãå°å®ä»¬è§£ååæ¾å ¥Dçã
2.2 å¨VC6ä¸ç¼è¯Log4cpp
è¿å ¥D:\log4cpp-0.3.5rc3\msvc6ç®å½ï¼æå¼VC6çå·¥ä½åºmsvc6.dswï¼å°å ¶ä¸çå·¥ç¨é½å é¤ï¼åªä¿çlog4cppålog4cppDLL两个工ç¨ãåå«ç¼è¯å®ä»¬çDebugåReleaseçæ¬ã
å¨VC6ä¸ç¼è¯Log4cppä¼æ¥éï¼å ¶å®åªæä¸ä¸ªé误ï¼å³ä¸è½å¨å¤´æ件ä¸å®ä¹åéï¼åæ¶ç»åéèµé»è®¤å¼ãä¿®æ¹æ¹æ³å¦ä¸ï¼å°å¤´æ件Priority.hhä¸çè¿ä¸è¡ï¼
static const int MESSAGE_SIZE = 8;
æ¹ä¸ºï¼
static const int MESSAGE_SIZE;
并å¨Priority.cppä¸çææincludeè¯å¥åå ä¸ï¼const int log4cpp::Priority::MESSAGE_SIZE = 8;
ç¼è¯é¾æ¥æååä¼å¾å°log4cppD.dllãlog4cppD.lib(Debugççdllålibæ件)ålog4cpp.dllãlog4cpp.lib(Releaseççdllålibæ件)ãæ°å»ºç®å½D:\log4cpp-0.3.5rc3\libï¼å°ä»¥ä¸å个æ件æ·è´å°è¯¥ç®å½ä¸ããå¨VCä¸æ·»å 设置libåincludeè·¯å¾ã
å°D:\log4cpp-0.3.5rc3\libå å ¥ç³»ç»çPathè·¯å¾ä¸ã
LGPLLGPL概念
Log4cpp的saascrm源码初始版本采用了GPL作为其授权声明,但在版本0.2.1之后,它转向了更为宽松的LGPL。LGPL起初被称为Library GPL,后来被简称为Lesser GPL,即相对宽松的GPL。当一个软件采用GPL,使用者有权复制、修改该软件并获取源代码。然而,如果使用者在自己的程序中整合了这样的自由软件或使用了修改后的版本,那么新程序也必须公开源代码,并允许他人复制、修改。这意味着基于GPL的自由软件衍生出的新软件也必须保持自由软件的性质。 LGPL是GPL的一种变体,由GNU为了吸引更广泛的开发者,特别是商业软件开发商的支持而提出。与GPL的主要区别在于,LGPL授权下的正方源码自由软件可以被私有使用,而由这些软件开发出的新产品可以是私有的,不必强制成为自由软件。因此,企业在选用自由软件时,务必确保其使用的是LGPL或其他GPL变体的授权协议,以确保合规性。扩展资料
LGPL是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称GNU Library General Public License (GNU 库通用公共许可证),后来改称作Lesser GPL,即为更宽松的GPL,在宽松程度上与 BSD, Apache,XFree 许可证相似。GPL(General Public License)和LGPL是GNU的两种License。越来越多的自由软件(Free Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反GPL的授权,恐怕会有被起诉的风险。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。请问使用最普遍的C++开发工具是什么?
在探讨C++开发工具的广泛选择时,我们需注意到它们各具特色,适合不同需求的酷爱源码开发者。以下是全面的C++开发工具集,涵盖开发环境、辅助工具、程序编辑器、UML/建模、版本控制、XML处理、测试、日志记录与注释生成。
开发环境方面,Turbo C是DOS时代的经典,适合初学者与怀旧的专业人士。Visual C++ 6.0/7.0提供稳定且强大的IDE环境,具备丰富的调试功能与定制宏,是Microsoft的力作。BCB则是功能强大的IDE,速度与稳定性稍逊于Visual C++,但对C++标准的支持较好。Cygwin作为Windows平台下的C++编译器,基于gcc,支持Windows特有的功能,如对winsock的支持。Dev-c++是Windows平台下类似VC、BCB的C++ IDE,界面友好,基于gcc,完全支持STL,但可能难以胜任大规模软件项目。
辅助工具中,Visual Assist在Visual C++ IDE环境下提供编程辅助,识别关键字、函数、成员变量,并自动给出提示,修正大小写错误。Understand for C++则是一款C/C++IDE编程辅助工具,支持反向工程、代码导向与统计功能。
程序编辑器方面,EditPlus是一款功能强大且轻巧的文本编辑软件,支持不同语言的语法加亮,拥有Project组织功能与丰富的自定义功能。Ultra Edit功能与EditPlus相当,通过脚本文件提供配置,但自6.0版后变化不大,自定义设置不如EditPlus方便。EMACS是功能多而复杂的文本编辑器,也可作为程序员编辑器。Visual Slick Edit则是一个功能强大的程序员用编辑器,具备很好的定制功能,自带一套PCODE解释器,与mingw结合使用很方便。IQEdit是一款全功能的程序员用编辑器,界面美观。
UML/建模工具有Rational Rose、Visual Modeler、Visio、Together与Visual UML。其中Rational Rose是强大的建模工具,Visual Modeler是Microsoft Visual Studio 6.0的附带工具,Visio则更人性化,Together与Visual UML则分别以java与多种语言支持见长。
版本控制管理软件包括ClearCase、CVS、VSS与SourceOffSite。ClearCase功能强大,适用于多种文档控制,但使用复杂。CVS是基于Web的分布式协同开发工具,免费且支持脚本定制,但在权限控制方面功能相对较弱。VSS是微软的版本控制工具,适合小型团队,与微软其他工具整合方便。SourceOffSite则是用于远程访问VSS数据库的工具。
对于XML处理,expat是轻巧且速度快的C函数库,支持少量编码方式,但不支持中文。xml4c是IBM的XML解析器,支持多种字符编码,包括中文,适合大规模XML应用。Xerces c++则来自Apache的XML项目,支持少数编码,如ASCII、UTF-8、UTF-等,不支持包含中文的XML文档。
测试工具包括CppUnit、Rational ROBOT与Rational Purify。CppUnit是一个C++的单元测试框架,提供定制测试方案。Rational ROBOT是自动化测试工具,通过脚本提供自动化特性,支持GUI与数据通讯测试。Rational Purify则不需要被测程序源代码,可用于检查内存访问错误与Windows API调用错误,进行可靠性测试。
日志记录工具log4cpp可以将日志内容记录到不同的目的地,如文件、控制台、syslog等,并通过控制记录级别来屏蔽无关记录。
注释生成工具Doc++与Doxygen均支持C++文档生成,但Doxygen功能更全面,能生成多种格式的文档,并提供GUI界面,支持多种编程语言。
Log4cppçä¼ç¹
Log4cppæ¯ä¸ªåºäºLGPLçå¼æºé¡¹ç®ï¼ç§»æ¤èªJavaçæ¥å¿å¤çè·è¸ªé¡¹ç®log4jï¼å¹¶ä¿æäºAPIä¸çä¸è´ãå ¶ç±»ä¼¼çæ¯æåºè¿å æ¬Java(log4j)ï¼C++(log4cppãlog4cplus)ï¼C(log4c)ï¼python(log4p)çãLog4cppæå¦ä¸ä¼ç¹ï¼
1. æä¾äºå¯æ©å±çå¤ç§æ¥å¿è®°å½æ¹å¼ï¼
2. æä¾äºNDC(åµå¥è¯æä¸ä¸æ)ï¼å¯ç¨äºå¤çº¿ç¨ãå¤åºæ¯çè·è¸ªè°è¯ï¼
3. æä¾äºå®æ´çæ¥å¿å¨æä¼å 级æ§å¶ï¼å¯éæ¶è°æ´éè¦è®°å½çæ¥å¿ä¼å 级ï¼
4. å¯éè¿é ç½®æ件å®æææé 置并å¨æå è½½ï¼
5. æ§è½ä¼ç§ï¼å åå ç¨å°ï¼ç»è¿ç¼è¯åçlog4cpp.dll大å°ä» ækbï¼
6. 代ç 级çå¹³å°æ å ³æ§ï¼Log4cppæºä»£ç ç»è¿ç¼è¯åï¼éç¨äºå¤§å¤æ°ä¸»æµçæä½ç³»ç»åå¼åå·¥å ·ï¼
7. æ¦å¿µæ¸ æ°ï¼å¦ä¹ å使ç¨æ¹ä¾¿ï¼çç»ç¨åºåä¸å¤©ä¹å å³å¯å¾å¥½å°åºç¨log4cppè¿è¡å¼å