IAR Embedded Workbench:未知或不明确的符号
IAR Embedded Workbench : Unknown or ambiguous symbol
已解决。
我试图在 IAR Embedded Workbench(使用 STM32F303xC 微控制器)中控制变量的值。我将 library.h 文件中的变量声明为:
extern int my_variable1;
extern float another_variable //... etc
然后在library.c
int my_variable1 = 15;
float another_variable = 328.47;
在main.c
my_variable1 = 38;
another_variable = pow(10,2) + another_variable/8
但在 watch、live watch 和 quick watch 中它会出现错误:(第 1 列)未知或不明确的符号。
我用这个 IDE 写了几个程序,静态变量的声明有效,它允许我使用手表查看变量的值。在其他程序中,我将变量声明为
int my_variable1;
在主文件中,在主函数之外,它也有效。
我该如何解决这个错误?
就我们而言,真正的问题似乎是:
有一种方法可以在 IAR Embedded 中显示 Workbench .c-s 之间共享的变量值?
问题是您将变量声明为静态。
这意味着对于 #include
hedaer 文件的每个文件,您将拥有这些变量的离散副本。
我想只要您在特定函数文件中中断执行,静态监视就可以工作。它将向您显示变量的本地范围副本。
IDE Embedded Workbench 作为优化形式,不会分配已声明但未使用的变量。所以这些变量不能在手表中显示。
已解决。
我试图在 IAR Embedded Workbench(使用 STM32F303xC 微控制器)中控制变量的值。我将 library.h 文件中的变量声明为:
extern int my_variable1;
extern float another_variable //... etc
然后在library.c
int my_variable1 = 15;
float another_variable = 328.47;
在main.c
my_variable1 = 38;
another_variable = pow(10,2) + another_variable/8
但在 watch、live watch 和 quick watch 中它会出现错误:(第 1 列)未知或不明确的符号。
我用这个 IDE 写了几个程序,静态变量的声明有效,它允许我使用手表查看变量的值。在其他程序中,我将变量声明为
int my_variable1;
在主文件中,在主函数之外,它也有效。
我该如何解决这个错误?
就我们而言,真正的问题似乎是:
有一种方法可以在 IAR Embedded 中显示 Workbench .c-s 之间共享的变量值?
问题是您将变量声明为静态。
这意味着对于 #include
hedaer 文件的每个文件,您将拥有这些变量的离散副本。
我想只要您在特定函数文件中中断执行,静态监视就可以工作。它将向您显示变量的本地范围副本。
IDE Embedded Workbench 作为优化形式,不会分配已声明但未使用的变量。所以这些变量不能在手表中显示。