gpt4 book ai didi

c - 如何通过 dbus 调用可变参数函数?

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:30 27 4
gpt4 key购买 nike

如何通过 dbus 调用可变参数函数,如 printf?

服务器是用C写的,客户端是用Python写的。

我的问题是如何编写 XML 规范文件?以及如何编写我的 GObject?

提前致谢。

[我使用 DBus-GLib。]

最佳答案

无法以编程方式调用具有不同数量和类型参数的可变参数函数。您可以使用相应的“v”函数(vprintf 等),但无法使 va_list 从外部代码传递给它们并通过 DBus 传递。

无论如何,您确实需要重新考虑您的设计。使用并非 100% 由您的程序控制的格式字符串调用 printf 是不安全的。传递客户端提供的格式字符串是一种灾难性的公式,因为如果格式字符串与参数不匹配,printf 会调用未定义的行为。在几乎所有现实世界的情况下,这将意味着特权提升漏洞!

关于c - 如何通过 dbus 调用可变参数函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950550/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com