【发布时间】:2012-01-10 12:48:49
【问题描述】:
有时我必须将一些成熟的 c 源代码转换为类。有时会出现的一个问题是某些函数共享全局变量。这通常很难找到。
我只是在考虑,是否有可能明确禁止类使用全局范围内的符号或类似的东西。有什么想法吗?
编辑:
当然,我可以搜索所有全局变量并将它们转换为类成员,但这可能有些困难。如果源代码有大约 1000 行,我无法查看所有代码。我只是想知道编译器是否可以帮助我找到它们。
【问题讨论】:
-
从全局范围内删除所有变量 ;)
-
等一下,您正在编写类,因此您可以控制使用或不使用哪些变量 - 那么问题是什么?
-
@zerm 的建议还不错。但是不要删除变量,只需将它们一一注释掉。然后,当您构建时,您会从引用变量的所有位置得到错误,并且您可以更好地计划放置公共变量的位置(提示:
namespace是您的朋友。) -
理论上所有这些都是正确的,但我正在寻找更自动化的解决方案。查看我的编辑。
-
@REDSOFTADAIR:1 000 行?您可以手动完成。 1 000 000 行会让人望而生畏,但 1 000 行你会花在工具上的时间比工作上的时间还要多。