知道函数的功能,那么函数参数该如何定义?

侦探蜡笔小新 2017-06-26 04:30:45

问题来了

现有给定协议A,需要写一个函数接口,实现对接收数据的协议A识别和处理,该协议A部分数据体包含子协议B,函数接口需要实现
1,协议A报文的识别。
2,将协议A中与子协议B无关的数据交给协议A数据处理接口。
3,将子协议B相关数据传递给子协议B数据处理接口。

这个函数的入参和出参该如何设计
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-06-27
  • 打赏
  • 举报
回复
引用 3 楼 g62r83t27 的回复:
[quote=引用 1 楼 zhao4zhong1 的回复:] 参考Google Protobuf源代码。
我只想问一个函数接口,你却让我看一个工程。。。。。。 使坏啊,赵老师[/quote] 斩草要除根!
自信男孩 2017-06-26
  • 打赏
  • 举报
回复
引用 4 楼 g62r83t27 的回复:
[quote=引用 2 楼 cfjtaishan 的回复:] 需要定义两个函数吧,一个是处理协议B的函数,一个是解析协议A的,解析协议B的函数由解析函数A的调用。 函数的传入参数,对于函数A,传递的是包含协议A和B的缓存数据,还有就是缓存数据的长度。函数B传入参数那应该是协议B数据开始的位置(地址)和数据的长度
B是被A包含的,我需要一个处理A的,把A 中的B分离出来,给DealB,把不属于B的A给DealA, 现在我要写的是SearchA(。。。。。。),SearchA中不能调用DealA,也不能调用DealB,只能通过参数和返回值告诉你什么情况下调用DealA且传给DealA什么数据,和什么情况下调用DealB和传递给DealB什么数据。。。 [/quote] 那就通过searchA函数的返回值来确定是调用A还是调用B,通过参数的传出参数来确定buffer开始的多少个字节开始是A协议或者B协议开头; 如果还想知道B协议的长度,那么再用一个传出参数得到协议的长度。
侦探蜡笔小新 2017-06-26
  • 打赏
  • 举报
回复
引用 2 楼 cfjtaishan 的回复:
需要定义两个函数吧,一个是处理协议B的函数,一个是解析协议A的,解析协议B的函数由解析函数A的调用。 函数的传入参数,对于函数A,传递的是包含协议A和B的缓存数据,还有就是缓存数据的长度。函数B传入参数那应该是协议B数据开始的位置(地址)和数据的长度
B是被A包含的,我需要一个处理A的,把A 中的B分离出来,给DealB,把不属于B的A给DealA, 现在我要写的是SearchA(。。。。。。),SearchA中不能调用DealA,也不能调用DealB,只能通过参数和返回值告诉你什么情况下调用DealA且传给DealA什么数据,和什么情况下调用DealB和传递给DealB什么数据。。。
侦探蜡笔小新 2017-06-26
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
参考Google Protobuf源代码。
我只想问一个函数接口,你却让我看一个工程。。。。。。 使坏啊,赵老师
自信男孩 2017-06-26
  • 打赏
  • 举报
回复
需要定义两个函数吧,一个是处理协议B的函数,一个是解析协议A的,解析协议B的函数由解析函数A的调用。 函数的传入参数,对于函数A,传递的是包含协议A和B的缓存数据,还有就是缓存数据的长度。函数B传入参数那应该是协议B数据开始的位置(地址)和数据的长度
赵4老师 2017-06-26
  • 打赏
  • 举报
回复
参考Google Protobuf源代码。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧