编译和链接错误

时间:2010-06-04 17:28:02

标签: c++

是否有策略或方法来确定特定的代码或程序是否会产生链接错误或编译错误。

7 个答案:

答案 0 :(得分:5)

您在评论中提到“如果您无权访问编译器”。好吧,如果您可以访问Web,则可以访问编译器:

这只会帮助您编译Web表单中的内容,链接和生成可执行文件是另一个故事......

答案 1 :(得分:3)

最好的方法是编译和链接您的程序。

您可以非常轻松地下载编译器。对于窗户来说,我发现的最小和最好的是MinGW。有了它,您可以通过命令提示符编译所有代码。

如果您有Mac或Linux,那么您已经安装了操作系统的编译器。无论哪种方式,您都可以使用任何文本程序编写程序,然后从命令行编译源代码。以下是一些适用于编码的文本程序的建议:

Notepad++(仅限Windows)

Vim

答案 2 :(得分:2)

尝试提前确定一段代码是否会产生编译错误绝不是一个好主意。当我还是一名为商业培训公司教授C ++的讲师时,我有时会看到一名受训者专注地注视着显示器但没有输入任何东西:

我:问题是什么?

他:哦,我只是在编译之前检查代码。

我是:高啊! (好吧,我以为)

不要像他一样。在您获得的每个可能的机会上运行编译器。我们生活在一个高质量的编译器非常容易获得的世界里,做其他事情是荒谬的。

答案 3 :(得分:1)

执行dry run

答案 4 :(得分:0)

您可以使用某种类型的语法检查程序(如Eclipse(C / C ++开发)),这将检查大多数语法错误(我认为它也会进行类型检查)。 还有flymake / emacs以同样的方式做得很好。

对于链接错误,我认为这不可能是先验的。

答案 5 :(得分:0)

如果没有IDE,您可以使用makefile来完成这项工作。通过makefile中的适当规则,您可以单独编译模块,然后将它们全部链接起来。在那里,您将获得特定于模块的错误,然后由于链接而导致最终错误。有些工具可以为各种平台和编译器生成makefile,例如 - automakeCMakeApache Ant等等。

答案 6 :(得分:0)

不使用编译器,代码和设计评论是一个良好的开端。

lintPCLint等工具可以解析源代码,寻找潜在威胁,例如未初始化的变量和内存泄漏。这种类型的极端应用是Klocwork。