【问题标题】:Writing & compiling a C program under Windows XP?在 Windows XP 下编写和编译 C 程序?
【发布时间】:2009-05-15 13:45:19
【问题描述】:

这绝对是初学者的问题,但根据最新的播客,我知道没有任何问题太新手了。

我的编程经验为 0,我想学习 C,所以我开始编写 K&R 书。我使用的是 Windows XP 笔记本电脑,我打算使用 Notepad++ 编写,并使用 Code::Blocks 进行编译。

这是我的问题:一旦我在 Notepad++ 中编写了“hello world”程序,我应该如何保存、编译和运行它?

编辑和新问题:当我从 Code::Blocks 构建和运行时,我会看到带有“hello world”消息的提示窗口。它保持打开状态,直到我手动关闭它。但是,当我双击.exe文件时,提示只是闪烁并消失,这是为什么?

非常感谢,

京东

编辑:根据此处的建议,我将使用 Code::Blocks 作为 IDE。

【问题讨论】:

  • 不是一个答案,但我真的不会从 C 开始。一旦你了解了通用编程结构,你就会了解指针以及托管代码和 VM 为你做了什么。 ..但这真的很令人沮丧。试试 C#。好语言。可用的好工具(从 MS 免费)。还有很多教程。
  • 奥利,谢谢。这些都是公平的观点。我不是专业的黑客,我只是想发展我的计算机软件知识,我选择了 C,因为(根据我所读的)它以相当小的语言涵盖了关键原则。不确定您的评论中的“虚拟机”是什么意思。虚拟机?
  • 我的 K&R 副本是一个很好的翻阅文本,当我停止编写汇编程序时它是一个非常宝贵的参考。除非您真的打算学习 Windows/Web 编程,否则您不会出错。 C 有它的位置,(我每天都使用它)虽然我建议它在桌面上失地。面向对象的编程可以在 C 中完成(查看 Linux 内核),但从语法上讲,对于学习的人来说可能具有挑战性。如果你刚刚开始,我真的鼓励你看看 C#。对我来说,它是第一种“理解”现代语言概念的语言。我讨厌 C++、Java。喜欢 C#。
  • 单独提出您的新问题 - 这样您更有可能得到答案;)

标签: c


【解决方案1】:

将其保存为 .c 文件。您可以使用MinGW compiler 将文件编译为.exe 文件。但既然你有 Visual Studio,你应该使用那个编译器。

【讨论】:

    【解决方案2】:

    您应该能够在 Visual Studio 中编写 C。您当然可以在旧版本的 IDE 中使用。只需创建扩展名为 .c 的源文件。

    您应该能够在 Visual Studio 中构建和运行代码。

    【讨论】:

    • 谢谢。我不知道我可以在 Visual Studio 中编写代码。这让事情变得容易多了。
    • 是也不是——你将能够写出相当老式的 C 风格,而忽略过去 15 年左右所做的整理工作。
    • 没错 - 但我指出他已经拥有所有必要的工具。
    【解决方案3】:

    如果您只是学习编程,我不建议您从 C 开始。C 在今天仍然占有一席之地,但是学习基本语法和技术的语言要简单得多。据我了解,那里没有那么多受雇的初学者 C 程序员。然而,你可以成为一名受雇的初学者 java、c#、VB、ruby 或 python 程序员,人们会付钱给你学习。然后,一旦你在结构和技术上打下了坚实的基础,你就可以用 C 更接近金属。

    只要我的两分钱,即使它不能真正回答你的问题。

    【讨论】:

    • 谢谢,这些都是公平的。我不打算从事编码职业,我只是想发展我的计算机软件知识,我选择了 C,因为(根据我阅读的内容)它以相当小的语言涵盖了关键原则。
    • @JDelage。这正是为什么 C 是一个很好的起点。它清楚地定义了一般软件的内在优势和劣势。高级语言掩盖了这些问题以使开发人员更容易,但会产生错觉。更糟糕的是大规模的全能语言,如 C#、VB 和 Java。如果你想采用简单、有趣且有洞察力的方式,请使用 Python 或 Lua
    【解决方案4】:

    如果您不想使用visual-studio,您可能想尝试codeblocks之类的东西,它可以让您使用VS编译器......如果您是,它会更简单+轻量级刚刚开始。

    【讨论】:

      【解决方案5】:

      正如其他发帖人所指出的,Visual Studio 对初学者来说可能有点不知所措——有很多选择,而且要获得一个简单的“Hello World”,需要大量的准备工作。

      我个人向初学者推荐 Bloodshed 的 Dev-C++ IDE。它不再被开发了(所以获得稳定版,而不是 beta 版),但是从输入你的第一个程序到编译和运行它非常简单。如果您坚持使用 Windows,您最终会迁移到 Visual Studio,但 Dev 是一个不错的东方起点。

      您可以在 Visual Studio 中编辑文件(它是一个 IDE,一个集成开发环境,应该包含编写程序所需的全部内容)但您会注意到大多数程序员使用 Notepad++ 等外部编辑器,因为它们提供了一些您通常无法在内置 IDE 中获得的不错的功能。暂时不要担心,但是当您更熟悉该过程的其余部分时,请尝试使用像 n++ 这样的外部编辑器。

      哦,C 在无论如何可以被描述为“用一种小语言涵盖了关键原则”。它肯定涵盖了“关键原则”——它已被用于太阳下的所有事物,但绝对是巨大的。这些天是否适合初学者尚有争议。它肯定会给你一些很好的体验,但不会是最简单的开始方式。

      编辑:CodeBlocks 更现代且仍在开发中,因此可能是比 DevC++ http://en.wikipedia.org/wiki/Codeblocks 更好的起点

      【讨论】:

      • 谢谢,我对 C 的大小进行了更正。好的,那就是 Code::Blocks。
      【解决方案6】:

      如果你从 K&R 复制代码你需要添加一个system("pause");在结束 main() 之前,确保使用 .c 保存文件

      int main()
      {
         printf("Hello, world\n");
         
         system("pause");
         return 0;   
      }
      

      【讨论】:

        【解决方案7】:

        对于刚开始,我建议您直接在 VC 中创建项目、编辑和编译。 然后开始探索 VC 实际运行的命令(我相信那里类似于“输出”选项卡。)尽管 Windows 不是对程序员最友好的环境,但您可以在命令行上完成所有这些操作。

        【讨论】:

          【解决方案8】:

          以防万一你还没有意识到,像 Visual Studio 一样,code::blocks 也有一个内置的编辑器。你不需要用 notepad++ 编写(除非你真的更喜欢 npp 作为编辑器)

          【讨论】:

            【解决方案9】:

            以下是一位在生物医学研究中使用 C 多年的人的意见:图像处理、数据处理。恕我直言,C 是一项重大的智力成就,可能是语法中意图的最佳升华。如果我刚开始,我现在会再次学习 C,即使只是为了学习思考。

            也就是说,我什至从未尝试在 MS 上使用 C 语言进行编程。 (我所有的工作都在 Suns 和 SGI 上。)为了避免其他答案中提到的开销,我在 MS XP/cygwin 上切换到了 Python。但是,我经常怀念 C 的简洁、富有表现力的语法,并且怀念存储在内存中的位和值。请注意,即使使用 Python,后端也是 C,并且自定义扩展是用 C 编码的。因此,如果我想为 Python 重做我的图像处理代码,我可能最终还是会写 C。

            很抱歉,MS 给编写有史以来最精简的语言带来了如此大的负担。 (顺便说一句,至于编辑,我个人的选择是 vim(作为 gvim),而不是 IDE。)(你有没有想过设置一个 Linux 机器?这些天有很多话要说:没有工作站成本的 UNIX。)

            【讨论】:

              【解决方案10】:

              尝试一些更简单的编译器,例如 *nix gcc。 Visual Studio C++ 为代码文件添加了大量的 MS 扩展。

              【讨论】:

              • 这是一个完全零编程经验的初学者。他可能不知道什么是 MS 扩展。你的回答只会让他感到困惑。抱歉,-1。
              • @unforgiven3:这就是为什么我建议他使用普通的 gcc 甚至免费的 Borland C++ 编译器,只是为了避免他接触 MS 扩展。我被教导“纯”C++,当我第一次在 Visual Studio 中看到一个空的 C++ 项目时,我感到很震惊。我希望他避免这种 MS 混乱。我想你误会了我。
              • 您可以在 Visual Studio 中以“老式方式”编译 C 代码,无需任何 MS 扩展。这很容易。
              • 我怀疑一个绝对的新手是否熟悉'*nix gcc'。这些是真正让新手感到困惑的事情。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-04-17
              • 2022-01-12
              • 2021-12-04
              • 1970-01-01
              相关资源
              最近更新 更多