【问题标题】:debug C for UNIX API on Windows 7 with Cygwin?使用 Cygwin 在 Windows 7 上调试 C for UNIX API?
【发布时间】:2012-07-17 08:30:39
【问题描述】:

我刚刚学习 Cygwin,它似乎可以针对 UNIX API 编写 C 代码,然后让它在 Windows 上运行,前提是您在 Cygwin 环境中构建它。

我已经习惯了 Visual Studio IDE 和调试工具,所以想问一下:是否有可能在 Windows 中编写和构建 C,然后在 Cygwin 的帮助下使用 Visual Studio 进行调试?

【问题讨论】:

    标签: c unix cygwin


    【解决方案1】:

    不,因为 VS 调试工具(大部分)严重依赖于使用 MS C 编译器而不是 GCC 进行编译。

    因此,如果您设法将其引导加载,您将无法获得 VS 提供的任何更有用的调试功能。

    最接近支持 GCC 的 Visual Studio 替代方案是 Eclipse

    【讨论】:

      【解决方案2】:

      Visual Studio 不适合您的情况,因为 VS 工具集旨在处理使用 VS C 编译器而非 GCC 编译的代码。代替 Visual Studio,我建议 Codelite。它专门设计为一个跨平台的 IDE,对于从 Visual Studio 迁移的开发人员来说是熟悉的。它当然会处理 GCC 或 Clang。

      与 CodeBlocks(您可以使用的另一个潜在 IDE)相比,Codelite 有大量功能略有改进,但也有一些单独值得一提。

      • Clang 驱动的代码完成和代码标记。这与编译器是分开的,因此即使使用 GCC 编译,IDE 也可以为您提供基于 Clang 的功能。需要注意的是,Clang 支持的功能尚未完全实现。例如,不存在 Clang 代码建议,并且代码完成功能尚不适用于 Objective-C。
      • 开箱即用对 Objective-C 的部分支持。 CodeBlocks 需要正确设置才能正确处理 Objective-C 项目,而 Codelite 无需任何修改即可处理它们。我说对 Objective-C 的部分支持是因为前面提到的 Objective-C 方法和类缺少代码补全。
      • 更高质量的构建错误输出窗口;按消息、文件和项目分类所有构建错误和警告。我唯一可以直接比较的就是 Xcode 中的构建错误输出窗口。

      我的建议是尝试这两种 IDE 并决定哪个更适合您的需求。

      【讨论】:

      • 这是一个有趣的IDE,以前没见过。对于 C++,我个人使用 CodeBlocks,对于 C#,我使用 Visual Studio,但我确信有多种选择。与 CodeBlocks 相比,Codelite 有什么突出的特点吗?
      • @AT,我已经编辑并扩展了我的答案,希望能回答您的问题(我无法将其放入此评论)。这当然不是一个详尽的答案,因为对 CodeBlocks(这是我自己迁移到 Codelite 的 IDE)有许多改进。 Eran Ifrah 是 Codelite 的创建者,他通常非常乐于接受人们对此提出的任何问题或问题。你可以在 Codelite 论坛或 SO 上找到他。
      • 感谢添加。只需设置 Codelite,并与 CodeBlocks 相比有一些批评: • Codelite 的代码格式化程序无法正常工作(单击附加大括号和其他一些设置;但它没有附上它们) • 我无法让我的 C++ 编译,即使在相应地修改了二进制目录之后(似乎缺少"dir name" 空格) • 没有准备编译器,下划线错误(例如:忘记分号...不确定 CodeBlocks 是否有这台 ATM)
      【解决方案3】:

      实际上可以使用 Visual Studio 调试 UNIX 应用程序。见Utilities and SDK for Subsystem for UNIX-based Applications

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        相关资源
        最近更新 更多