【问题标题】:Advice on C Programming with MSVC++ 9使用 MSVC++ 9 进行 C 编程的建议
【发布时间】:2010-10-11 15:48:07
【问题描述】:

大家好。我对编程并不陌生,但我是 C 和 C++ 编码的初学者。到目前为止,我只知道 C 语言的基础知识以及如何编写小而简单的程序。我对长期学习 C++ 不感兴趣,但我有兴趣成为流利的 C 程序员。我的困境是严格为 C 编程(不是 C++)适应 MS Visual Studio 2008 环境。目前我只编写了一些基本的 C 控制台应用程序并在此环境中构建它们。

话虽如此,我很想得到一些关于从哪里开始的建议。我有一些不错的 C 编程书籍可以学习,所以学习整个 C 语言对我来说不会是一个问题(我多年来一直在使用 Delphi 和 VB 编程)。我需要一些建议是为纯 C 编程选择一个好的商业 IDE。我想在 Windows 中创建 GUI 应用程序,而不仅仅是控制台应用程序。我在 Windows 中没有找到很多 C 编码 GUI 应用程序的资源,主要是 C++ GUI 应用程序开发。在我看来,MSVC++ 9 非常适合 C++ 开发,而 C 是一个奇怪的人。任何关于从哪里开始的建议将不胜感激。

【问题讨论】:

  • 您想进行纯 Win32 GUI 编程还是对使用库/框架感兴趣?前者比较繁琐(小项目没问题),后者主要是 C++。
  • 我对纯 Win32 GUI 编程很感兴趣。
  • 我个人对WIN32没有问题。即使您稍后转向框架,了解 Win32 也是一个非常有用的工具,供您使用。

标签: c++ c visual-c++


【解决方案1】:

我不会太在意 C 和 C++ 代码之间的界限。如果您想坚持使用 C 编程,您仍然可以获得 C++ 编译器的好处。 C++ 编译器不会强迫您编写面向对象的代码,它只是让通用的、面向对象的代码更方便。

您当然不需要编写面向对象的 C++ 代码来利用 VC2008。毕竟 Win32 本质上是一个函数式 API(与 MFC 等面向对象的框架相反)。

总而言之,我认为用于纯 C 编程的良好商业 IDE 是 VC2008 IDE。如果您选择进行纯函数式 C 开发,它为您提供了一个非常好的调试环境,没有任何缺点。要进行 GUI 开发,您需要使用 Win32 API。那里有很多描述 API 的好书,但我会推荐 Charles Petzold 的“Programming Windows”,它对 API 提供了很好的概述。我还推荐 Everett N. McKay 和 Mike Woodring 的“调试 Windows 程序”(我喜欢这本书,它是我的调试圣经)。

祝你好运。

【讨论】:

  • 没问题,希望对您有用。
【解决方案2】:

你找不到很多用 C 语言编写 Windows GUI 的书是有原因的——它非常非常困难而且冗长!您会发现,与使用 C++ 类库或诸如 Delphi 之类的 RAD 工具相比,您需要编写的代码至少多 10 倍(也许是 100 倍)。为什么你这么坚决只使用 C?

【讨论】:

  • 是的,我知道它会比在 C++ 中更冗长。我对学习 C 更感兴趣,因为我想尝试编写内核模式驱动程序(是的,我知道你也可以在 C++ 中完成)。 MS 还偏爱 C 而不是 C++ 用于驱动程序开发。这只是原因之一。
【解决方案3】:

我从未尝试过(还),但 Pelles C 似乎是您可能想看看的东西:

请注意,VS2009 可以很好地处理 C - 我假设您希望 GUI 设计工具输出 C 代码而不是 C++。 Pelles IDE 在这方面提供了多少帮助,我不知道。

【讨论】:

    【解决方案4】:

    我看不出用 C 语言的 windows api 编程窗口有什么可怕的困难。我当然看不出有什么好的理由选择 C++ 而不是 C,你不会告诉我 MFC 比 C 更“简单”赢api。

    Pelles C 有一个很好的资源编辑器,肯定可以很好地使用。我们自己使用 lcc-win32 工具进行 Win 开发,并且您在运行 wedit 时所看到的一切都是在没有自己的工具的情况下使用的。所以我们对它们的工作很有信心。它可能需要一些时间来“沉入”,但无处不在。而且复杂性远低于现代“工具”附近的任何东西。一个问题是什么让 C++ 变得更好? 直到 Charles Petzhold 编程窗口,您可以轻松地使用它来学习 C 编程窗口。

    我只能说我们早在 15 年前就开始编写 lcc-win32 了。它仍然可以运行,我们不必“重写”任何一个,因为另一个 Windows 版本已经出来了。整个下载大约 5 MB 左右,其中包含编译器、链接器、汇编器、资源编辑器、集成开发环境和数百个库。只是要下载另一个编译器是 elswhere > 100 MB "Event"。

    问候

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 2012-01-02
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多