首页 / 知识
关于c ++:如何使用变长参数包装函数?
2023-04-14 01:22:00

How to wrap a function with variable length arguments?我正在寻找在C / C ++中执行此操作。 我遇到了可变长度参数,但这建议使用libffi使用Python&C解决方案。
现在,如果我想用 我所做的如下所示:
但是结果却不如预期!
我错过了什么地方? 问题是您不能将'printf'与va_args一起使用。如果使用变量参数列表,则必须使用vprintf。 vprint,vsprintf,vfprintf等(Microsoft C运行时中也有"安全"版本,可防止缓冲区溢出等) 您的示例工作如下:
在C ++ 11中,这是使用
编辑 正如@rubenvb指出的,需要权衡考虑,例如,您将为每个实例生成代码,这将导致代码膨胀。 我也不确定你是什么意思 在C ++中,我们使用
实际上,有一种方法可以从包装器调用不具有
Visual C x86的示例。
您正在使用C还是C ++?下一个C ++版本C ++ 0x将支持可变参数模板,这些模板提供了该问题的解决方案。 通过巧妙的运算符重载来实现如下语法,可以实现另一种解决方法:
为了使它起作用,必须实现类
您是什么意思纯C / C ++解决方案? C运行时跨平台支持rest参数(...)。 http://msdn.microsoft.com/zh-CN/library/kb57fad8.aspx |
最新内容
相关内容
程序执行linux命令?
程序执行linux命令?,系统,工作,地址,环境,信息,管理,命令,文件,目录,程序,linux下如何运行可执行文件1、先将终端所在路径切换到python脚本文linux运维操作命令?
linux运维操作命令?,系统,网络,基础,标准,工具,信息,工作,命令,软件,数据,linux运维命令常用命令1、ls, ls-l, less, head, tail, tail -f, ln, ln -slinux执行2个命令?
linux执行2个命令?,工作,系统,基础,命令,基础知识,信息,管理,在线,概念,第一,Linux多命令顺序执行通过链接,多个命令可以顺序执行或嵌套执行;通linux清空操作命令?
linux清空操作命令?,系统,数据,命令,名称,不了,文件夹,文件,环境,回收站,目录,删除文件夹中所有文件的linux命令(创建和删除文件和文件夹的linlinux命令批量执行?
linux命令批量执行?,系统,代码,工作,周期性,数据,定期,环境,命令,文件,脚本,linux如何对多个文件执行相同命令1、一次执行多个命令可以将多个linux二进制执行命令?
linux二进制执行命令?,系统,工作,情况,代码,信息,位置,地址,命令,文件,目录,Linux系统常用操作命令有哪些1、linux常用命令: pwd命令 该命令linux执行退出命令?
linux执行退出命令?,档案,状态,工作,命令,信息,地址,电脑,系统,编辑,文件,linux保存并退出的命令(linux常用命令保存退出)linux保存并退出命令linux安装操作命令?
linux安装操作命令?,系统,工作,地址,工具,服务,情况,信息,命令,最新,管理,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux中后台执行命令?
linux中后台执行命令?,系统,状态,暂停,灵活,电脑,网络,服务,第一,名字,命令,linux以后台服务怎么停止运行若是es的前台运行,则用ctrl + c来停止linux下cd命令参数?
linux下cd命令参数?,工作,命令,系统,一致,名称,目录,用户,缩写,意思,参数,linux下cd命令是什么?1、首先仅仅从目录切换来看,linux和windows是一linux常用的执行命令?
linux常用的执行命令?,系统,地址,工作,基础,标准,命令,工具,环境,信息,代码,Linux下最常用的Shell命令的介绍Linux中的shell有多种类型,其中最linux操作系mv命令?
linux操作系mv命令?,名字,系统,软件,文件,命令,信息,地址,目录,文件夹,源文件,Linux中的文件与目录操作利器mv命令使用解析1、mv file_txt /ho