![]() |
1
2
我不认为这是完全可以解决的,一般来说,只使用C。例如,您不知道目标函数使用的调用约定。有一个风险,你最终会“欺骗”编译器,或至少不得不二次猜测它。如果编译器决定使用寄存器中传递的参数来构建注册函数,可能是由于某些优化设置(或者如果它是用不同的编译器构建的呢?). 一般来说,也没有办法用C来表示您想要用一组给定参数调用一个函数,并且这些参数的值需要从一个随机字节的缓冲区中解包。 你可以这样做:
但很明显,这与可扩展性不在同一个大陆上。当然,您可以为一些合理的返回类型和参数类型集自动生成此代码。你仍然有点不知所措
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 5 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |