C++ 使用Poco库的定时器_cortexm3使用的存储器格式是
C++中我们想用定时器该怎么弄了,可以借助Poco强大的能力来完成。
Poco C++库是:
- 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa;
 - 侧重于互联网时代的网络应用程序
 - 使用高效的,现代的标准ANSI/ISO C++,并基于STL
 - 高可移值性,并可在多个平台下可用
 - 开源,并使用Boost Software License发布
 - 不管是否商用,都完全免费
 
Poco库概览
特性:
- DynamicAny与Any类
 - Cache框架
 - 基于OpenSSL的密码系统
 - 日期,时间类库
 - 事件和通知框架
 - FTP客户端
 - 跨平台的文件系统类库
 - HTML表单类库
 - HTTP客户端和服务端(支持SSL),C++ 服务器页面编译器
 - 日志框架
 - 多线程框架(线程池,活动对象,工作队列等)
 - POP3客户端类库
 - 跨平台,一次编写,多平台编译和运行
 - 进程管理和进程间通信类库
 - 反射框架
 - 基于PCRE的正则表达式
 - SMTP客户端类库
 - 数据库访问类库(SQLite,MySQL, ODBC)
 - 支持SSL/TLS,基于OpenSSL
 - 动态类库加载
 - 先进的内存和指针管理(Buffer, Pool)
 - Socket类库
 - 网络数据流类库,支持Base64,HexBinary编解码,压缩等等
 - 字符串格式化和其它字符串工具类库
 - TCP服务器框架(多线程)
 - 文本编码和转换
 - Tuples
 - URI支持
 - 支持UTF8和Unicode编码
 - UUID生成器
 - XML生成和解析器
 - Zip文件操作类库
 
Poco的使命
- Poco是一个强大的类库,并易于构建自己的应用程序
 - Poco帮助你创建跨平台的应用程序(一次编写,多平台编译和运行)
 - 模块化和可扩展,可应用于嵌入式到企业级程序
 - 提供全面,易懂的编程接口
 - 使用C++语言,快速且高效
 - Poco崇尚简易
 - 在设计,代码风格和文档上保持一致
 - Poco强调代码质量,包括可读性,综合性,一致性,编码风格和可测试性
 - Poco使得C++编程更加容易
 
指导方针
- 高度关注代码质量,编码风格,一致性,可读性
 - 高度关注测试
 - 注重实用性
 - 基于现有的,可靠的组件开发
 
1、先用Vsiual编译Poco库,这个就不用多解释了,Poco里面有visualStudio的工程,千万不要使用MingW编译Poco库,这个比较麻烦,浪费时间还不一定成功。
Visual Studio中设置下Poco的include,lib以及可执行文件的路径
其代码如下:
#define  _CRT_SECURE_NO_WARNINGS
#include <memory>
#include <chrono>
#include <thread>
#include <iostream>
#include <Poco/Timer.h>
#include <Poco/Thread.h>
#include <Poco/File.h>
#include<Poco/Timestamp.h>
class TestTimerExample
{
public:
    void onTimer(Poco::Timer& t)//
    {
        std::cout << "每隔1秒打印1次" << std::endl;
    }
};
int main(int argc, char* argv[])
{
    TestTimerExample te;
    Poco::Timer timer(1000, 1000);   //1秒后开始,每隔1秒执行一次
    timer.start(Poco::TimerCallback<TestTimerExample>(te, &TestTimerExample::onTimer));
    std::cout << "Hello World!\n";
    std::this_thread::sleep_for(std::chrono::seconds(10));
}执行结果如下: