【发布时间】:2012-04-25 23:05:52
【问题描述】:
我需要解释位于以下链接中的程序的作用:
我在linux中编译如下代码为:
............................. ......
(请注意,所有三个文件都必须位于同一工作目录中才能进行编译。)
那个命令是:gcc main.c csapp.c
当我执行该命令时,我得到了可执行文件:a.out 我没有收到任何编译错误!
可以从here 下载该可执行文件(我认为您不需要该文件,而且如果我在您所在的位置,我不会执行该文件)。
无论如何,我认为如果我可以调试程序,我将能够更好地理解正在发生的事情。结果,我在 Visual Studio 中创建了一个 C++ 控制台空控制台项目。我希望在其中包含相同的文件并能够编译它。我以前从未使用过 c++,而且我真的不明白在哪里放置头文件。这是我所做的,希望能够编译程序:
如果我这样放置文件,程序将无法编译。
我也尝试过将所有文件放在同一个目录中,就像在 linux 虚拟机上一样:
也不编译。
我将如何使用 Visual Studio 编译该程序?
【问题讨论】:
-
C != C++,他们有不同的编译器。尝试使用 gcc -Wall 进行编译,以启用所有警告。
-
您可能需要发布编译错误以供人们提供任何具体建议。
-
源文件:main.c 和 csapp.c;头文件:csapp.h。但我不知道这是否能解决您的问题。
-
我会考虑学习 GDB,这样你就可以在 Linux 中调试了。
-
是什么让你认为调试器只存在于 Windows 上?您需要继续使用 gcc 并在 Linux 上使用 gcc 调试器。但如果你想了解代码的作用,第一步就是阅读它。
标签: c visual-studio debugging compilation header-files