gpt4 book ai didi

c - 添加C语言手动编写的头文件

转载 作者:行者123 更新时间:2023-11-30 19:45:28 25 4
gpt4 key购买 nike

我正在为 radio 编写代码,其中包含许多子函数和 header 函数。我创建了两个 header “simulation_params.h”,其中可以更改模拟参数,以及“global_constants.h”,其中存在查找表。我需要在程序中的多个位置使用这两个 header 。

因此,当我在两个不同的函数中定义这些 header 时,会说“main.c”和“scrambling.c”。编译器显示错误,说“首先在这里定义”,“x 的多个定义”。我在 headers 中使用了 ifndef 和 #define 。尽管如此,它还是显示了这个错误。

最佳答案

在 C 中声明和定义变量是有区别的。

声明外部变量会给它一个名称。定义它会分配内存并初始化它。

变量只能定义一次。它可以在所有需要它的模块中声明。通常,您在 .c 文件中定义变量并通过在 .h 文件中声明它来共享它。 .h 文件包含在所有需要该变量的模块中。

如果您在 .h 文件中定义变量并将该 .h 文件包含在多个模块中,则会出现定义冲突,并且链接器会提示。

因此,如果您需要对共享常量进行任何类型的初始化,则需要创建一个 global_constants.c 文件并将其与其余模块链接。

关于c - 添加C语言手动编写的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com