STM32运行时间错误是由全局变量Extern Const char*引起的

发布于 2025-02-11 12:39:52 字数 381 浏览 1 评论 0原文

由于以下代码,我会收到一个运行时错误“硬故障”:

Filea.c

const char* globalfilepath = "/path/to/folder";

Fileb.c

extern const char* globalfilepath;
void my_function(){
{ ...
    // Hard fault right here, debugger shows variable is empty string
    FILE* fd = open(globalfilepath);
...}

它在没有警告的情况下编译,此问题仅在运行时发生。我在没有优化的情况下进行编译。

I get a runtime error "Hard Fault" due to the following code:

FileA.c

const char* globalfilepath = "/path/to/folder";

FileB.c

extern const char* globalfilepath;
void my_function(){
{ ...
    // Hard fault right here, debugger shows variable is empty string
    FILE* fd = open(globalfilepath);
...}

It compiles without warnings, the issue happens only at runtime. I'm compiling with no optimization.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文