【问题标题】:How to develop C programmes without an IDE in Windows? [closed]如何在没有 IDE 的情况下在 Windows 中开发 C 程序? [关闭]
【发布时间】:2009-12-31 12:45:29
【问题描述】:

我想更深入地了解 C 程序的运行方式。

但 IDE 阻止我们这样做。

那么有没有可能是我手动设置环境并在文本编辑器中编写代码,最后在提示符下运行呢?

如果答案是肯定的,怎么做?

【问题讨论】:

  • C 程序的运行方式与所有其他程序的运行方式相同,导航到 IDE 创建二进制文件的目录并双击可执行文件或打开命令窗口并输入可执行文件的路径。还是你感兴趣的编译过程?
  • 我有点困惑。编译过程与理解程序如何运行有什么关系?毕竟,您始终可以在 ide 之外运行已编译的程序(例如,从 cmd 运行)。如果您想知道它是如何运行的,您可能需要查看汇编程序(可能在调试器中以便更好地理解)和/或可执行格式,具体取决于您想知道的内容。如果您只是想知道如何在 IDE 之外进行编译,那么问题是什么原因是必要的,因为(甚至是基本的)IDE 对这个目的要好得多。
  • 我认为通过调试器执行程序会给程序如何“运行”提供更多意义。
  • 正如 Chris 上面所指出的,当您试图了解程序是如何“运行”时,您将在调试器中花费大量时间。一个好的 IDE 实际上可以提供帮助。 帮助的是让一些“向导”为您编写代码。如果您正在编写所有代码,我认为 IDE 不会影响您的实际理解。

标签: c ide


【解决方案1】:

正如其他人所说,安装 MinGW(我假设您使用的是 Windows)并将其 bin 目录放在您的路径上。打开命令行窗口,并使用文本编辑器(例如记事本)创建文件 - 将其命名为 foo.c:

#include <stdio.h>
int main() {
  printf( "hello world\n" );
  return 0;
}

然后,使用 gcc 编译器对其进行编译,创建一个名为 foo.exe 的可执行文件:

> gcc foo.c -o foo.exe

最后,从命令行运行 foo.exe:

> foo.exe
hello world

【讨论】:

  • 如果他安装了可以构建 C 程序的 IDE,那么他已经安装了编译器。为什么要麻烦安装另一个?
  • 在他的问题中没有说他安装了 IDE。
  • 这正是我想要的!顺便说一句,是否可以向 MinGW 添加额外的 3rd 方库?
  • @Unknown - 是的,当然 - 库只是库,它们的来源没有任何区别。
  • 如何?我在 MinGW\lib 下看到很多 *.o 和 *.a
【解决方案2】:

我不明白为什么 IDE 会阻止理解 C 程序 的工作原理。 IDE 通常会抽象构建 过程,即它为您创建构建规则、运行程序和调试器。这对程序本身的工作方式没有任何影响,只是更加“用户友好”(取决于您如何定义“用户友好”)。

您始终可以在没有 IDE 的帮助下构建程序。您甚至可以从命令行使用 Microsoft 的 Visual Studio,而且您根本看不到 GUI。 Mac OS X 上的 XCode 类似。

如果您想在不使用任何 IDE 的情况下构建程序,您基本上可以像使用 IDE 一样编写源代码。您甚至可以将 IDE 用作编辑器。之后,您需要编译您的程序。 IDE 通常具有使编写源代码更容易的功能,例如结构元素的自动完成、基本语法检查等。如果程序只包含一个单一的源文件,这通常是相当微不足道的。如果您有多个源文件(除了通常的“Hello World”示例之外的几乎所有内容都应该如此),您仍然可以手动执行此操作。然而,这是一个乏味且容易出错的过程。在 Unix 世界中,make 是自动执行此操作的首选工具。您可以使用MinGW 在 Windows 上获得这样的环境。 Cygwin 是这里的另一种选择。但是,您也可以使用 MSVC 之外的 nmake 并手动编写输入(我自己从来没有这样做过)——这与 Makefilemake 基本相同。

创建Makefile 并非易事。有几个生成器可以使这更容易。这与 IDE 通过抽象构建过程所做的基本相同。 Makefile 生成器的示例是 autotools(有时也称为“GNU 构建系统”)和 cmake

从命令行构建程序也不会影响程序是否具有 GUI。您可以(再次假设 Windows)从命令行运行任何 .exe 文件。如果是 GUI 应用程序,则 GUI 将显示,如果是控制台应用程序,它将在控制台窗口中运行。

【讨论】:

    【解决方案3】:

    下载Cygwin 并确保安装GCC,GNU C 编译器。

    您可以在文本编辑器中编写 C 程序,用 GCC 编译它们,然后执行它们。

    【讨论】:

    • 你不能仅仅为了命令行构建而推荐 Cygwin 庞然大物。这确实是一把大锤来破解坚果 - 它有一个将 Linux 代码移植到 Windows 的地方,但不建议将它用于本机 Win32 开发。 所有编译器都是命令行工具,无论是否从 IDE 驱动。
    • 克利福德说得对。问题是如何在没有 IDE 的情况下做到这一点。 ;) +1
    【解决方案4】:

    当然!有很多适用于 Windows 的 C 编译器,其中一些可以帮助您:

    • Visual Studio 有一个免费的速成版,并附带一个编译器
    • MinGW 是可在 Windows 上运行的 Gnu C 编译器
    • 还有很多其他的,但上面的那些应该......现在足够了

    至于文本编辑器,您可能希望选择带有 C 语法高亮功能的文本编辑器,例如 viEmacs 或其他一些文本编辑器。顺便说一句,掌握编辑器真的很有用,不管你的语言是什么。

    【讨论】:

    • IIRC,MS C++ 编译器免费下载。
    • 对,但是你不需要Visual Studio来使用C/C++编译器。
    • @Alan:但是你只能将编译器作为 VS 包的一部分来获取——我认为 MS 不提供独立版本...
    • @Christoph:没有什么能阻止您从命令行使用 VC++。来自和 IDE 构建的构建日志甚至会显示为每个构建步骤发出的命令行。
    • @Christoph 来自微软的免费“Windows SDK”包括 32 位和 64 位 c/c++ 编译器,你不需要任何形式的 VS 来使用它们
    【解决方案5】:

    我不明白你的意思。您想在文本编辑器中编写 C 程序然后编译? 当然,你可以这样做:

    1- Write a C code
    2- Get a compiler such as gcc (there is a windows version)
    3- Compile it
    4- Run it from console
    

    但是,我不确定这是否是您想知道的。

    【讨论】:

    • 您能否更具体地了解在没有 IDE 的情况下编译和运行 c 代码?
    • djgpp 是一个windows C编译器,也可以用
    • @Tom:DJGPP 不是 Windows 编译器;它是一个带有 32 位 DOS 扩展器的 DOS 编译器。见:delorie.com/djgpp/v2faq/faq3_6.html
    【解决方案6】:

    您可以使用可从 Microsoft 免费下载的 Windows SDK(我相信以前称为 Platform SDK)中的所有可用工具从命令行编译适用于 Windows 的程序(如果这是他的意思)。我认为它拥有 Visual Studio 拥有的所有工具(如果不是大多数工具的话)。

    【讨论】:

    • 赞成这一点,因为大多数其他 cmets 似乎都在建议基于 gcc 的编译器,这很好,但尽可能获得微软的编译器,并且大多数示例等针对 windows 平台在那些,所以它可能在很多方面更容易
    【解决方案7】:

    当然。您需要设置类似 MinGW 的编译器来编译您的应用程序(或者您可以使用 IDE 提供的编译器)。 然后只需使用 CMD 并执行适当的编译命令。

    实际上,每个 IDE 都提供了更简单的方法来执行相同的编译。

    【讨论】:

      【解决方案8】:

      如果您对大型项目的组织方式感兴趣,可以尝试下载Apache httpdPHP 之类的源代码。它们都在 C 中。在 Linux/Mac 上,您可以使用一些简单的命令从命令行编译它们(请参阅文档)。

      【讨论】:

        【解决方案9】:

        如果您想查看构建的工作原理,大多数(如果不是全部)IDE 都会创建一个构建日志,其中显示为调用编译器/链接器等而发出的实际命令行。没有什么能阻止您直接在命令行上发出这些命令。

        IDE 通常还为您做的是依赖管理;这很难手动维护,最好留给 IDE 用于大型项目。

        您不需要像某些人建议的那样下载和安装任何特定的编译器或工具链;您当前的 IDE 就足够了。例如,如果你有 VC++2008(或 2008 Express),命令行工具描述为here

        【讨论】:

          【解决方案10】:

          这里有一些简单的步骤,可以让你在没有 IDE 的情况下编译和运行 c 程序

          1 - 安装 TCC(Turbo C 编译器)

          2-打开记事本写C代码

          3 - 在 C:\TC\BIN 中另存为 a.c

          4 - 然后打开 CMD

          5 - 通过“tcc a.c”编译c代码

          6 - 最后运行“a.exe”

          【讨论】:

          • 感谢您发布您的答案!请务必仔细阅读FAQ on Self-Promotion。另请注意,每次链接到自己的网站/产品时,都要求发布免责声明。
          【解决方案11】:

          您只需要安装MinGW 编译器并设置gcc 可执行文件的路径即可。然后你可以在编辑器中编写 C 代码并在命令行中编译它,就像在 Linux 上一样。

          【讨论】:

          • 能否给一个编译运行的demo?
          猜你喜欢
          • 2011-04-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-12
          • 2013-05-28
          • 1970-01-01
          • 1970-01-01
          • 2015-06-29
          相关资源
          最近更新 更多