在 C 中定义全局常量
Defining global constants in C
如何在 C 中定义全局常量?
我被告知要做这样的事情
在header.h
const u32 g_my_const;
在code.c
#include "header.h"
const u32 g_my_const= 10U;
但是我得到一个编译错误:
error: uninitialized const 'g_my_const' [-fpermissive]
谁能解释一下如何正确地做到这一点。
在header
中使用
extern const u32 g_my_const;
在这种情况下,这将只是常量的声明,在 c 模块中将有它的定义。
#include "header.h"
const u32 g_my_const= 10U;
正如 @Thomas Jager 对您的问题的评论中已经提到的,您可以通过包含 header [=13] 来为类型使用标准别名=]
例如
#include <stdint.h>
extern const uint32_t g_my_const;
如何在 C 中定义全局常量? 我被告知要做这样的事情
在header.h
const u32 g_my_const;
在code.c
#include "header.h"
const u32 g_my_const= 10U;
但是我得到一个编译错误:
error: uninitialized const 'g_my_const' [-fpermissive]
谁能解释一下如何正确地做到这一点。
在header
中使用extern const u32 g_my_const;
在这种情况下,这将只是常量的声明,在 c 模块中将有它的定义。
#include "header.h"
const u32 g_my_const= 10U;
正如 @Thomas Jager 对您的问题的评论中已经提到的,您可以通过包含 header [=13] 来为类型使用标准别名=]
例如
#include <stdint.h>
extern const uint32_t g_my_const;