如何在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/

10-11 21:31