首页 > 解决方案 > 可变参数函数仿真方法的优缺点

问题描述

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

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

这种方法的优点和缺点是什么?说,相对于所有东西都在一个数组中的方法,也许有某种空指针终止 a-la-argv?还是适当的节点列表?

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

笔记:

标签: cemulationvariadic-functions

解决方案


推荐阅读