如何在C中定义全局常数?
我被告知要做这样的事
在header.h中
const u32 g_my_const;
在代码c中
#include "header.h"
const u32 g_my_const= 10U;
但我得到一个编译错误:
错误:未初始化的常量'g_my_const'[-fppermissive]
有人能解释一下怎么做吗。
最佳答案
在标题中使用
extern const u32 g_my_const;
在这种情况下,这将只是一个常量的声明,在c模块中将有它的定义。
#include "header.h"
const u32 g_my_const= 10U;
正如@Thomas Jager在对您的问题的评论中已经提到的,您可以通过包含头
<stdint.h>
例如
#include <stdint.h>
extern const uint32_t g_my_const;
关于c - 在C中定义全局常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57221847/