![]() |
1
100
您实际上编译了
你的生活需要什么
这会通知编译器存在具有输入参数和返回类型的函数。此函数的作用(内部所有内容)
最后一点:随着您的程序变得更加复杂,您将面临头文件可能包含多次的情况。为了防止出现这种情况,标头源有时会被特定的宏定义所包围,例如:
|
![]() |
2
27
下划线由编译器放在那里,并由链接器使用。基本路径是:
因此,主程序应包含测试模块的头文件,该头文件应仅包含声明,例如函数原型:
通过将test.c包含到main.c中,可以在main.o中定义test()函数。假设您正在链接main.o和test.o,两者都包含函数test()。 |
![]() |
3
11
.c文件。我想你想要一个头球( 错误是由测试函数的多个定义(一个在test.c中,另一个在main.c中)引起的 |
![]() |
4
6
我也有类似的问题,我用下面的方法解决了它。 解决方法如下: 函数原型声明和全局变量应该在test.h文件中,并且不能在头文件中初始化全局变量。 test.c文件中全局变量的函数定义和使用 若您在标题中初始化全局变量,它将出现以下错误
|
![]() |
5
4
包括实现文件(
|
![]() |
6
4
如果已将test.c添加到Code::Blocks项目中,则该定义将被查看两次—一次通过#include,一次由链接器查看。您需要:
|
![]() |
7
4
如果您使用的是Visual Studio,您还可以在headerfile的顶部执行“#pragma once”,以实现与“#ifndef…”包装相同的功能。其他一些编译器可能也支持它。。 祝你好运 |
![]() |
8
0
我在头文件中定义了一个函数,它一直抛出这个错误。( 我知道这不是正确的方法,但我想我会很快用这种方法进行测试。 ) 只有 在头文件中放入声明,在cpp文件中放入定义。 原因是头文件没有编译,它们只提供定义。 |