-1

``我的要求是函数调用将具有不同的名称,但在执行时它们都应该引用相同的定义。例如,我有一个函数调用,如

UINT8 vsignal;UINT8 vsignal1;void Read_Message1_Signal1(&vSignal);void Read_Message2_Signal2(&vSignal1);

但这应该与

void Read_Message_Signal(UINT8 *signal){}

它已经实现并编译为 dll,应该链接到不同的调用,因为这些调用可能会因输入而异。

谁能帮我实现这个要求?

4

3 回答 3

1
void Read_Message1_Signal1(&vSignal)
{
    Read_Message_Signal(&vSignal);  // or whatever
}

并重复您的其他函数名称,也许使用自定义代码生成器。

于 2011-09-20T11:49:11.973 回答
1

有什么原因你不能只写自己的包装器吗?

void Read_Message1_Signal1(&vSignal)
{
    Read_Message_Signal(vSignal);
}

void Read_Message2_Signal2(&vSignal)
{
    Read_Message_Signal(vSignal);
}

如果它们很多,您可以使用宏自动生成它们。

于 2011-09-20T11:51:08.767 回答
1

您可以为此使用预处理器:

#define Read_Message1_Signal1(x) Read_Message_Signal(x)
#define Read_Message2_Signal2(x) Read_Message_Signal(x)

或者重新考虑你的 API,因为这对我来说似乎很奇怪......

于 2011-09-20T11:51:34.440 回答