有没有办法从使用提供的 rust 中的 &str 类型获取函数指针

Posted

技术标签:

【中文标题】有没有办法从使用提供的 rust 中的 &str 类型获取函数指针【英文标题】:Is there any way to get a function pointer from a &str type in rust which is provided by the use 【发布时间】:2022-01-21 13:02:27 【问题描述】:

。 示例:use 提供了一个函数的名称​​用户提供我需要某种方式来调用该函数最好是闭包或函数指针

【问题讨论】:

除非你已经剥离了你的二进制文件,否则你可以滥用符号表来做到这一点(尽管这不是一个好主意)。 【参考方案1】:

Rust 是一种静态的编译语言。在运行时无法通过名称访问函数。这些函数甚至可能不存在(例如,它们可能被内联或优化掉)。相反,您需要做的是为您希望在运行时调用的函数创建一个字符串的 HashMap,或者使用match 按字符串调度。

【讨论】:

你能举个例子吗? Here's a demonstration of how one might use HashMap(可能有多种变化)

以上是关于有没有办法从使用提供的 rust 中的 &str 类型获取函数指针的主要内容,如果未能解决你的问题,请参考以下文章

Rust & WebAssembly 翻译系列 为什么选择Rust和WebAssembly?

有没有办法让 Rust 闭包只将一些变量移入其中?

有没有办法在 Rust 库中包含二进制或文本文件?

从 rust 中的通道迭代器获取第一个接收到的值

「Rust进阶笔记」Rust之derive特性总结

在 Rust 中,有没有办法遍历枚举的值?