在我的main.c中,我有int cursor = 0;
。
稍后在函数中使用它,我使用cursor += 1
。
当我编译/链接时,我收到一个错误:
cursor' referenced in section .text' of main.o: defined in discarded section .bss' of main.o
我对使用GCC比较陌生。我之前曾经使用过MSVC,但我从未遇到过这样的错误。有什么东西需要添加到链接器脚本中,所以它不会丢弃BSS部分吗?
由于
答案 0 :(得分:1)
我不确定它是否会有所帮助。你可以尝试:
static int cursor = 0;
你可以尝试的另一件事是:
int cursor;
作为全局然后在main()中放置cursor = 0;也许它不喜欢初始化全局?
BSS适用于未初始化的全局变量。所以出于某种原因,我认为它没有初始化你的游标变量。因此,将初始化移动到main()例程可能会修复它。