Poco Application 框架学习(1)

2023-05-16

基本的功能:
提供了一个 int run(int argc, char** argv); 方法用于执行app。run 方法会调用 类的 void initialize(Application& self);与 int main(const std::vector& args)
与 void uninitialize(); 方法。run() 函数调用的开始,main 函数是多态的。initialize() 和 uninitialize() 是覆盖,而且必须指定调用基类的方法,用于初始化,或者析构子
系统的资源。也就是说我们自己的类的initialize() 需要调用基类的 initialize() ,uninitialize() 需要调用基类的 uninitialize()
app程序的初始化部分放到重载后的 initilize() 方法执行。
app 退出的释放部分放到 uninitialize()。
程序的功能部门包含到重载的 main()
例子代码:

#include "Poco/Poco.h"
#include "Poco/Util/Application.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include <iostream>

using namespace Poco;

class MyApplication : public Util::Application
{
public:
    MyApplication( )
    { }
    void initialize(Application& self);
    void uninitialize( );
    int main(const std::vector<std::string>& args);
};

void MyApplication::initialize( Application& self )
{
    Util::Application::initialize( self );//帮我们初始化子系统,必须显示的调用。
    std::cout << "this is initialize\n";
}

void MyApplication::uninitialize( )
{
    Util::Application::uninitialize( );//帮我们关闭子系统,必须显示的调用。
    std::cout << "this is uninitialize\n";
}

int MyApplication::main(const std::vector<std::string>& args)
{
    std::cout << "this is main\n";
    return Application::EXIT_OK;
}

///////////////////////////////////主函数////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
int main( int argc , char **argv )
{
    MyApplication app;
    app.run( );
}

执行结果:
this is initialize
this is main
this is uninitialize

总结:
从结果可以看出来run() 调用顺序是 initialize() -> main() -> uninitialize()。
有了这些功能我们一个基本的程序就可以运行了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Poco Application 框架学习(1) 的相关文章

  • 【转】QT中QWS的含义

    QT编程和文档中的术语QWS的全称是Qt windows system 是QT自行开发的窗口系统 体系结构类似X Windows 是一个C S结构 由QWS Server在物理设备上显示 由QWS Client实现界面 两者通过socket
  • 框架分析(11)-测试框架

    框架分析 11 测试框架 专栏介绍 Selenium 框架特性 多语言支持 多浏览器支持 元素定位 页面操作 等待机制 浏览器控制 测试报告 并行执行 集成测试框架 优缺点分析 优点 开源免费 跨平台 多语言支持 强大的定位器 支持多种测试
  • 数据在OSI七层模型中的名字 数据帧、数据包、数据报以及数据段

    数据帧 数据包 数据报以及数据段 OSI参考模型的各层传输的数据和控制信息具有多种格式 常用的信息格式包括帧 数据包 数据报 段 消息 元素和数据单元 信息交换发生在对等OSI层之间 在源端机中每一层把控制信息附加到数据中 而目的机器的每一
  • 软件构架、架构和框架的区别

    软件框架 Software Framework 介绍 面向某领域 包括业务领域 如ERP 和计算领域 如GUI 的 可复用的 半成品 软件 它实现了该领域的共性部分 并提供一系列定义良好的可变点以保证灵活性和可扩展性 可以说 软件框架是领域
  • DataOutputStream 类与BufferedOutputStream类的区别是什么

    DataOutputStream 类与Buffere dOutputStream类的区别是什么 DataOutputStream dataout new DataOutputStream new FileOutputStream file
  • 推荐几本Linux相关的好书

    应用层开发的 可以看看 Linux Application Development Advanced Linux Programming 第二本废人同学曾经翻译过 译稿可从这里获取 另外Linux和Unix渊源极深 因此 应用层开发也可以看
  • 2020大厂前端面试之vue专题(三)

    21 v model中的实现原理及如何自定义v model v model 可以看成是 value input方法 的语法糖 input v model checkbox v model select v model 组件的v model
  • ABAP & DOI NACE OUTPUT

    ABAP上传文件的TCODE SMW0 OAOR 现在遇到的业务需求是在VA03的订单通过SAP标准的OUTPUT配置打印出order confirmation以后 再打印公司的文字条款内容 WORD格式的两页纸 最开始想到的实现方式是在N
  • 前端框架之Vue学习(二)

    一 事件修饰符 enter 回车生效 常用于替代判断是否按下回车事件 once 单次生效 只会生效一次 stop 阻止事件冒泡 self 阻止事件冒泡 只有点击自身时才生效 capture 将后面的事件变为捕获事件 prevent 阻止默认
  • 如何使用 System.ComponentModel.DataAnnotations.AssociationAttribute

    前段时间我问过这样一个问题 每个 System ComponentModel DataAnnotations 属性的用途是什么 然而 我没能得到回复 这个问题有点宽泛 因为它要求提供有关每个数据注释属性的文档 此时此刻 我最感兴趣的是Ass
  • 在三层项目中放置 DTO / POCO

    我一直在重写网站的后端 并将其转向三层架构 我的意图是这样构建它 Web site lt gt WCF Service 1 lt gt Business Layer 2 lt gt Data Layer 3 我的问题是 DTO 在这个结构中
  • 实体框架和自我跟踪实体与 POCO

    如果我想使用实体框架 4 作为我的数据层 并希望将我的实体发送到另一层 无论是通过 WCF 还是其他机制 然后希望能够更新实体并将它们发回以进行更新 删除 插入最好使用自跟踪实体还是 poco 对象 如果可能的话 我宁愿使用 POCO 对象
  • 如何首先在 EF 4.1 代码中映射父列

    在我的项目中 我有以下 DomainModel public class Login public Guid Id get set public Login CreatedBy get set 我正在使用流畅的配置 如下所示 modelBu
  • POCO 的行为和持久性无知

    根据我的阅读 POCO 类应该是持久性无知的 并且不应该包含对存储库的引用 Q1 鉴于上述情况 我将如何填充 QuestionBlocks 集合 我读过 POCO 应该包含行为 这样你就不会以贫血模型结束 所以我有点困惑 如果没有坚持 应该
  • POCO、DTO、DLL 和贫血域模型

    我正在看POCO和DTO的区别 https stackoverflow com questions 725348 poco vs dto 看起来 POCO 是具有行为 方法 的 dto 并遇到本文 http www martinfowler
  • Entity Framework 4 v2 中与 POCO 的一对一关系

    我一直在寻找有关如何在 EF4v2 中与 POCO 建立一对一关系的示例 我发现很多例子只展示了如何创建一对多或多对多 你有这方面的资源吗 这对我有用 using System using System Collections Generi
  • 代码生成器不好吗?

    我使用 MyGeneration 和 nHibernate 来创建基本的 POCO 对象和 XML 映射文件 我听到有些人说他们认为代码生成器不是一个好主意 目前最好的想法是什么 当代码生成生成数千行无法理解的代码时 是否只是代码生成不好
  • MVC3 中的 POCO 类和 ViewModel

    我不是一名经验丰富的 MVC3 开发人员 但我正在努力成为一名经验丰富的 MVC3 开发人员 我熟悉 POCO 类和 ViewModel 因为前者描述了数据库的每个类 后者用于 mvc3 中的强类型视图 对于经验丰富的开发人员来说 我的问题
  • 实体框架 POCO - 如果字段更新两次如何防止错误?

    我正在开始使用模型优先配置中的 POCO 实体框架 我有一个稍微不标准的模型 通过自定义 tt 文件生成以响应 edmx 中的自定义属性 使我能够触发 NotifyPropertyChanged 事件来记录对某些属性的更新 这导致一个实际上
  • 将 XML 映射到 C# 中的类

    我希望使用 XmlSerializer 对象将嵌套元素中的多个 XML 属性映射到单个 POCO 类中 XML

随机推荐

  • Fast-planner 和 Ego-planner 比较

    Fast planner 和 Ego planner 比较 Fast PlannerEgo planner Fast planner和Ego planner都是无人机路径规划中常见的算法 xff0c 但它们的实现方式和目标略有不同 Fast
  • Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments 论文笔记

    Teach Repeat Replan 飞行走廊生成方法凸多面体膨胀CPU加速GPU加速飞行走廊生成与环路消除 时空全局轨迹优化空间轨迹优化时间轨迹优化 在线局部重规划局部重规划框架 飞行走廊生成方法 围绕 teaching traject
  • ovn实验手册

    参考文档 openstack ovn结合官方文档 ovn实践参考
  • 蓝桥杯 小数第n位 问题的几种解法

    蓝桥杯 小数第n位 问题的几种解法 题目描述解法1 根据手动计算除法的过程 题目描述 我们知道 xff0c 整数做除法时 xff0c 有时得到有限小数 xff0c 有时得到无限循环小数 如果我们把有限小数的末尾加上无限多个 0 xff0c
  • 解决Vmware虚拟机无法打开Ubuntu的问题

    1 xff0c 问题 很多同学会在Window PC机上使用Vmware虚拟机来搭建Linux开发环境 xff08 如Ubuntu xff09 xff0c 使用过程中难免会出现Ubuntu崩溃 异常关闭等现象 xff0c 此时 xff0c
  • antd 表单动态添加表单项编辑回显数据

    在做一些后台管理会用到很多的表单 xff0c 比如动态项表单 xff0c 如下图这样的 话不多说 xff0c 上代码 创建修改版本 import React from 34 react 34 import Form Notification
  • 二进制流文件下载

    在做一些文件下载的时候 xff0c 后端返回的二进制流文件 xff0c 这里前端的兄弟姐妹就需要处理一下了 直接上代码 xff1a 下载 export function download id return request url 96 r
  • ES6数组reduce的妙用

    定义和用法 reduce 方法接收一个函数作为累加器 xff0c 数组中的每个值 xff08 从左到右 xff09 开始缩减 xff0c 最终计算为一个值 reduce 可以作为一个高阶函数 xff0c 用于函数的 compose 注意 r
  • element 去掉form表单的某一项单个form-Item校验

    在执行完相应的方法 xff0c 立即触发移除校验 this nextTick 61 gt this refs 39 form 39 clearValidate 39 name 39 this refs 39 form 39 clearVal
  • element表单多行数据自定义校验以及自定义传参

    场景说明 如下图 在form表单中迁移table表格 每行数据都要能编辑 单独校验 注释 此处的资源下拉框校验 还需要走异步请求获取结果 然后再对比校验 nbsp 话不多 上代码说明 1 首先获取的接口数据如下 form vmDataLis
  • Hbuilder修改项目git提交路径

    在git的使用中 xff0c 经常会出现git服务器IP地址变更的现象 xff0c 一旦服务器的IP地址有变化 xff0c 本地仓库的代码就和服务器失去了联系 xff0c 无法同步服务器的代码 这里说明一下 xff0c 如何修改git提交路
  • css3的clip-path方法剪裁实现(三角形,多边形,圆,椭圆)

    本例讲解如何通过clip path 把一个div xff08 元素 xff0c 可以是图片等 xff09 裁切成不同的形状 xff0c 这里以一个div为例宽高均为300px 注意 xff1a 不支持IE和Firefox xff0c 支持w
  • layui表格(table)排序

    layui表格本身提供sort排序 xff0c 但是只能排序当前一页 xff1b 如果后台返回几十页数据 xff0c 需要排序显示 xff0c 该如何做呢 xff0c 这里闲心大神提供了一个sort监听方法 xff1a 通过监听排序的列 x
  • Liunx下修改MySQL字符集

    Liunx下修改MySQL字符集 1 查找MySQL的cnf文件的位置 color 61 green find iname 39 cnf 39 print color color 61 olive usr share mysql my in
  • vue刷新当前页面,重载页面数据

    业务场景 xff1a 在管理后台 xff0c 在执行完 xff0c 增 xff0c 删 xff0c 改 xff0c 操作的时候 我们需要刷新一下页面 xff0c 重载数据 在JQ中我们会用到location reload 方法 xff0c
  • layui动态渲染生成左侧3级菜单(根据后台返回数据)

    声明 xff1a 这里非常感谢闲心大神 xff0c 开源了非常好用的前端UI框架 xff0c layui xff0c 如有侵权请联系我 当然闲心在2 0版本的layuiAdmin已经支持了 xff0c 不过是收费版的 xff0c 需要的同学
  • layui加载数据显示loading加载完成loading消失

    项目中 xff0c 向后台请求数据 xff0c 经常会出现较长的等待时间 xff0c 这时我们需要一个loading转圈圈 xff0c 接收到后台的数据时 xff0c 让loading消失 这layui中使用方法如下 xff1a 以表格为例
  • 信号量,消息邮箱的运用

    1 信号量的用途 1 xff09 共享资源的保护 xff0c 例如需要共用一段内存 xff0c 初始信号量的计数值为1 task1 xff1a task2 pend信号量 pend信号量 共享资源 共享资源 post信号量 post信号量
  • istio 部署及调用链显示

    选择版本号下载 https github com istio istio releases 下载 wget https github com istio istio releases download 1 13 2 istio 1 13 2
  • Poco Application 框架学习(1)

    基本的功能 提供了一个 int run int argc char argv 方法用于执行app run 方法会调用 类的 void initialize Application amp self 与 int main const std