将许多C调用函数封装到单个实现中
Wrap many C calling functions to single implementation
``我有一个要求,即函数调用将有不同的名称,但在执行时所有名称都应该引用相同的定义。例如我有一个类似的函数调用
UINT8 vsignal;UINT8 vsignal1;void Read_Message1_Signal1(&vSignal);void Read_Message2_Signal2(&vSignal1);
但这应该与联系起来
void Read_Message_Signal(UINT8 *signal){}
其已经被实现和编译为dll并且应该被链接到不同的调用,因为这些调用可以基于输入而变化。
有人能帮我如何达到这个要求吗?
是否有什么原因不能只编写自己的包装器?
void Read_Message1_Signal1(&vSignal)
{
Read_Message_Signal(vSignal);
}
void Read_Message2_Signal2(&vSignal)
{
Read_Message_Signal(vSignal);
}
如果有很多,你可以用宏自动生成它们。
void Read_Message1_Signal1(&vSignal)
{
Read_Message_Signal(&vSignal); // or whatever
}
并对其他函数名重复此操作,也许可以使用自定义代码生成器。
您可以使用预处理器:
#define Read_Message1_Signal1(x) Read_Message_Signal(x)
#define Read_Message2_Signal2(x) Read_Message_Signal(x)
或者重新思考您的API,因为这对我来说似乎很奇怪…
相关文章:
- 如果没有malloc,链表实现将失败
- 如何在c++中实现处理器调度模拟器
- 如何在c++中使用引用实现类似python的行为
- 实现无开销push_back的最佳方法是什么
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- SystemC:单个 cpp 文件中的多个模块实现
- 如何优雅地实现具有可变输出的单个方法?
- 在单个链接列表中实现复制构造函数C
- 如何使用单个解锁方法(可称为读取器或写入器)实现C++读写器锁?
- 如何在C++中实现"Registry pattern",使用单个注册表实现多个接口
- 如何为链表类实现单个项
- 有可能实现一个与数组而不是单个对象一起工作的内存池吗
- 在单个链接列表中恒定时间实现弹奏
- SRP 是否与单个类的可能操作或其在其中的实现相关
- 将许多C调用函数封装到单个实现中
- 允许派生类从基抽象类实现单个纯虚函数
- 从单个链表中弹出堆栈的c++实现
- 通常实现为单个位的布尔变量
- 将多个实现隐藏在单个接口后面