现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2019-08-08 06:51 工业·编程 ⁄ 共 443字 暂无评论
大家都知道,写程序大体步骤为: 1.用编辑器编写源代码,如.c文件。 2.用编译器编译代码生成目标文件,如.o。 3.用链接器连接目标代码生成可执行文件,如.exe。 但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这...
阅读全文
2019-08-07 06:41 工业·编程 ⁄ 共 2282字 暂无评论
C/C++程序员肯定离不开Makefile和Cmake,因为如果对这两个工具不熟悉,那么你就不是一个合格的C/C++程序员。本文对Makefile和Cmake,及它们的使用进行了详细的介绍。 一、Makefile详解     Makefile描述了整个工程的编译、连接等规则,makefile定义了一些列规则来指定,哪些文件需要编译以及如何编译、需要创建哪些库文件以及如 何创建这些库文件、如何产生我们想要的可执行文件。使用Makefile,整个工程都可以...
阅读全文
2019-08-06 06:30 工业·编程 ⁄ 共 2132字 暂无评论
cmake是kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中所产生的衍生品。后来经过发展,最终形成体系,在2001年成为一个独立的开放源代码项目。其官方网站是www.cmake.org,可以通过访问官方网站来获得更多关于cmake的信息,而且目前官方的英文文档比以前有了很大的改进,可以作为实践中的参考手册。 cmake的流行离不开KDE4的选择。KDE开发者在使用autotools近10年之后,终于决定为KDE4项目选择一个新的工程构建...
阅读全文
CMake简介 CMake是一个工具,可以帮助我们实现跨平台开发的工具,在实际开发中可以发挥重要的作用。 我们先图解一下CMake的作用: 假如我们现在有一个在不同平台都有共享代码的C++的工程,这些平台分别是:Windows、OSX、Linux,在这些平台使用的IDE分别是:Visual Studio、Xcode,现在有一份公共的代码:one.cpp,已经部署在三个平台上。 现在,我们需要新加一个 bar.cpp,正常来说,我们需要在每一个平台下面按照相应的规则...
阅读全文
2019-08-04 06:26 工业·编程 ⁄ 共 13130字 暂无评论
本文对bash的源码(版本:4.2.46(1)-release)进行简要分析。 数据结构 bash是用C语言写成的,其源码中只使用了少量的数据结构:数组,树,单向链表,双向链表和哈希表。几乎所有的bash结构都是用这些基本结构实现的。 源码中最主要的结构都定义在根目录下头文件command.h中。 单词 bash在不同阶段传输信息并处理数据单元的数据结构是WORD_DESC: typedef struct word_desc {   char *word;     &#...
阅读全文
2019-08-03 07:44 工业·编程 ⁄ 共 11523字 暂无评论
2. Poco日志的实现 2.1 日志模块应该实现的业务 在讨论日志的实现之前,先来聊一下日志模块应该实现那些业务。日志的业务说简单可以很简单,就是输出记录。说复杂也复杂,来看它的复杂性: 首先,日志的输出对象是不同的,有控制台输出,本地文件输出,网络文件输出,输出到系统日志等。假如是网络日志,日志库中其实还会包含网络模块,真是越来越复杂了。 第二,日志输出的格式和内容。不同用户关心的内容和喜欢的输出格式是不...
阅读全文
2019-08-01 07:41 工业·编程 ⁄ 共 11958字 暂无评论
日志对于程序来说是非常重要的,特别是对一些大型程序而言。一旦程序被发布,在现场日志几乎是程序员唯一可以获取程序信息的手段。Poco作为一个框架类库,提供了非常多的日志种类供程序员选用。文章将分两个部分,对于Poco日志进行介绍。第一部分主要以翻译Poco文档为主,第二部分则探讨Poco日志的实现。 1. Poco库日志接口 1.1  总体介绍          Poco中的日志模块主要涉及下列...
阅读全文
本节主要介绍Thread类和ThreadLocal机制的使用方法以及实现原理,以及对ThreadPool线程池支持的简单了解 Thread类使用方法 在C++语言中,我们通过_beginThreadex或CreateThread来创建线程(最好使用前者,关于两者区别和线程基础知识可参见《Windows核心编程》),并且提供一个原型为void MyFunc(void pParam)入口函数来完成任务。在Poco中,将入口函数抽象为一个类Runnable,该类提供void run()接口,用户需要继承至该类来实现自...
阅读全文
2019-07-30 16:10 工业·编程 ⁄ 共 17764字 暂无评论
POCO C++是一个开源的C++类库的集合,它主要提供简单的、快速的网络和可移植应用程序的C++开发,这个类库和C++标准库可以很好的集成并填补C++标准库的功能空缺。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发 模块说明 POCO由4个核心库及若干个附加库组成。核心库是:Foundation、XML、Util和Net。其中的两个附加库是:NetSSL,为Net 库中的网络类提供SSL 支持;Data,用来以统一的形式访问不同的SQL 数据库。PO...
阅读全文
Foundation中的SharedLibrary实现跨平台的dll动态加载。具体使用方法和简介可见:ShareLibrary官方文档 SharedLibrary导出函数 SharedLibrary类的简单用法 通过SharedLibrary可以实现函数导出和类导出,函数导出是最简单的,Dll提供方除了函数需要使用extern "C"声明之外,和普通C++编写的dll并无区别,在官方文档的例子中,dll使用方代码也很简单: // LibraryLoaderTest.cpp #include "Poco/SharedLibrary.h&q...
阅读全文