微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可变参数函数仿真方法的优缺点

如何解决可变参数函数仿真方法的优缺点

我正在开发一个平台,我们可以在该平台上编译 C 代码(和其他非 C 代码),但不能编译可变参数函数或 va_list 的。我想模拟这种机制 - 重点是实现的简单性/便利性而不是最佳性能。我还想避免依赖 ABI 功能、使用 asm() 等。

天真地,我正在考虑传递一些参数、一个参数大小数组和一个参数数据数组(后者要么是动态分配的上限大小)。当然,还有构建这些东西的函数

这种方法的优缺点是什么?说,相对于所有内容都在单个数组中的方法,也许带有某种空指针终止 a-la-argv?还是正确的节点列表?

另外,我是不是在重新发明轮子,甚至标准的 varags 实现已经满足我的要求?

注意事项:

  • C 变体或多或少是 C99。所以没有 K&R 漏洞,也没有来自 C11 的 _Generic。
  • 担心类型识别是“用户”的责任 - 使用格式字符串或其他一些参数。就像使用常规可变数量的参数一样。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。