c - 如何使宏常量在 C 中可全局访问?

标签 c macros extern

我在 .c 文件和 .h 文件中定义了一些宏常量,如下所示:

#define LOCAL_L2_BASE_LV                                    (0x00800000UL)

在.c文件中

#define FPGA_PLI_FEEDBACK_OFFSET_LV_FREQUENCY           (0x00007000UL)

在.h文件中

我想在不同的头文件中使用这些常量。最好的方法是什么?我最初的想法是在头文件中使用 extern 我想在其中使用常量,但这有效吗?

最佳答案

宏不能做成extern,它们不是变量。它们只是文本替换。要使宏可用于其他 header ,您需要包含定义宏的 header 。

关于c - 如何使宏常量在 C 中可全局访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33674152/

相关文章:

rust - Rust宏: What is the difference between braced and parenthesized macro bodies?

c - 声明还是定义?

C - 外部、静态、包含

c - 为什么我无法比较文件中的那些数组和我读取的用于创建登录系统的数组?

c++ - 如何避免重复包含头文件

c - 如何让编译器重复直到按下数字0

macros - 如何在隐式导出宏时使用模块中定义的构造

c - 如何更改另一个文件中存在的外部变量的值?

c - 有没有可能用C写的程序下载一个外部函数,把这个外部函数当作一个编译链接的共享对象?

c - 空文件的 SHA-3 摘要