如果我有一个使用extern
声明变量的C文件
并在代码中修改变量,然后调用外部函数。
答案 0 :(得分:4)
你需要注意许多事情......但是在一个带有单个线程的基本C应用程序中,是的......这个应该没问题。
但是,如果你是(非详尽的):
main()
main()
然后你需要小心。
volatile
关键字非常有用 - 它会通知编译器,当您不查看"时,此变量可能会发生变化。
即使使用volatile
关键字,您也可能会遇到Read-Modify-Write问题......
了解读 - 修改 - 写问题是争斗的一半......另一半正在减轻它,这可以通过一些optiosn来实现,例如使用一种称为Mutual Exclusion / Critical Sections的技术,或者,如果适当的话,在操作值之前将数据复制到局部变量中。