我有两个重叠的头文件,如下所示:
那么header1.h
...
__declspec(dllexport) void abc();
__declspec(dllexport) void xyz();
...
header2.h
#define value1 1
#define value2 2
...
__stdcall void abc();
__stdcall void xyz();
...
的main.c
#include "header1.h"
#include "header2.h"
main()
{
somefunc(xxx, value1);
}
我收到编译错误(dll链接不一致)。请帮我解决这个问题。感谢。
答案 0 :(得分:1)
这是不可能的!我们不能使用具有不同签名的相同功能名称,并且如上所示包括在内。感谢大家的时间。
答案 1 :(得分:0)
在C和C ++编程语言中,#include保护,有时称为宏保护,是一种特殊的结构,用于避免在处理include指令时出现双重包含问题
对你有用,有概念标题守卫::