带有重复项的C头文件

时间:2014-03-24 18:26:52

标签: c header-files

我有两个重叠的头文件,如下所示:

那么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链接不一致)。请帮我解决这个问题。感谢。

2 个答案:

答案 0 :(得分:1)

这是不可能的!我们不能使用具有不同签名的相同功能名称,并且如上所示包括在内。感谢大家的时间。

答案 1 :(得分:0)

在C和C ++编程语言中,#include保护,有时称为宏保护,是一种特殊的结构,用于避免在处理include指令时出现双重包含问题

对你有用,有概念标题守卫::

http://en.wikipedia.org/wiki/Include_guard