Netplus里的基本概念

本文介绍了Netplus中的ref_ptr和ref_base,一种基于引用计数的对象管理机制,简化了C++对象的创建与销毁。接着讲解了Packet类,用于处理网络协议的字节缓冲区。Channel作为网络通信主体,管理连接并处理事件。Channel Handler则处理具体的消息,形成处理链。文章以简单的示例说明了这些概念。
摘要由CSDN通过智能技术生成

 

本文为初见,Netplus快速开始之PingPong Example系列第三篇


1. netp::ref_ptr & netp::ref_base

C++是一门面向对象的语言,一切皆可为对象,然对象的创建与销毁,指针的传递、共享,在稍大一点的工程里面,如豆腐雕花,如履薄冰,一不小心,直接崩坏,尤其是引入多线性以及异步编程之后,更是令人心力交瘁,这种动不动就出王炸的逆天脾气,常使得开发者谈C色变。

那么对象的管理,到底有没有好一点的办法呢,netplus选择了ref_ptr&ref_base, 顾名思义,这是一种基于引用计数的对象管理机制,因篇幅关系,这里暂时只讲如何使用它。

  • 在Netplus里面,绝大部分的class都继承于ref_base,ref_base作为根,提供引用计数的基本功能。
  • 继承自ref_base的class,直接new/delete 的时候,编译器会报错。
  • 继承netp::ref_base的class,需要配合模板netp::ref_ptr<T>进行使用。
  • netp::ref_ptr<T>对象,只能通过netp::make_ref<T> 进行创建,不需要的时候,需赋值为nullptr。
  • 每赋值给一次,引用计数增1,每被置nullptr一次,引用计数减1,当减到0的时候
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
S7NetPlus是一本说明书,主要介绍了S7NetPlus软件的功能和使用方法。 首先,S7NetPlus是一款用于编程和调试Siemens S7系列PLC的软件。它具有简洁直观的用户界面,方便用户快速上手。通过S7NetPlus,用户可以轻松地连接到PLC,并进行读写数据、修改程序等操作。 S7NetPlus支持多种通信协议,包括TCP/IP、UDP、以太网和串口通信等。用户只需选择合适的通信方式,并正确配置相关参数,即可与PLC建立通信连接。此外,S7NetPlus还支持多种通信模式,如主站、从站和广播模式等,以满足不同的通信需求。 在使用S7NetPlus时,用户可以通过图形化编程界面进行PLC程序的编写和调试。它提供了丰富的编程元素和函数库,如逻辑运算、计算、定时器和计数器等,可以满足用户对PLC程序的需求。编写完成后,用户可以通过S7NetPlus将程序下载到PLC中,并实时监测程序的执行状态。 除了编程功能外,S7NetPlus还提供了强大的调试工具。用户可以查看和修改PLC的内部数据、参数和标志位,以便进行程序的调试和优化。同时,S7NetPlus还支持在线监测和调整PLC的输入输出信号,方便用户进行设备的调试和故障排查。 总之,S7NetPlus是一本功能丰富的说明书,为用户提供了强大的编程和调试工具。通过学习和掌握S7NetPlus,用户可以更高效地进行PLC编程和调试工作,并提高工作效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值