【问题标题】:Develop Windows applications with Linux tools使用 Linux 工具开发 Windows 应用程序
【发布时间】:2011-11-10 07:02:23
【问题描述】:

我喜欢Linux操作系统和vim编辑器,但是Visual studio等有很多公司是在Windows环境下开发的。有可能我要在这样的公司工作一个月左右。

我想在我的 Linux 系统上完成我的工作并将文件复制到它们。我对这两种开发都有经验,我发现我不想使用 MS 产品,但我喜欢编程和编写 MS 代码并不是那么痛苦。

您是类似的开发人员吗?你能给我一些关于你的方法的建议吗?大部分时间都在 Linux 平台上,在 Linux 上创建代码和调试所有东西可以在Linux环境下测试吗?

我会看到在 Linux 上创建小的代码和平、测试它们然后将其移动到 MS 平台并集成到整个系统中的工作。你如何调试和测试你的代码?开发可能会在C#C++。我无法想象Visual Basic

请在这里写下你的经历、工作作风,如果有影响或者麻烦太多,我宁愿放弃。

所以问题是:如何使用 Linux 工具开发在 Windows 上运行的应用程序,而无需接触 Visual Studio 和使用 Windows 文件管理器等浏览。

谢谢

【问题讨论】:

  • 我会建议你打开你的思想(和眼睛)并使用 Visual Studio。或者,如果您非常反对它,那么您可以找一份非 MS 平台的工作,以至于您愿意为了避免在 VS 中输入代码而费尽心思。
  • Visual Studio 是一个很棒的工具。把你的平台狂热放在一边,尝试使用它。
  • @DBM 我希望这不会是关于出色的 Visual Studio 的讨论。对我来说它太慢了,过去我对此并不满意。
  • 我的经验是,虽然VS是高度可定制的,但是那里无法实现vi的命令集(没有特殊插件)。如果您不长时间使用 C#,仍然在 vi 或类似 vi 的环境中工作是可以的,但如果这将是您的主要工作,我建议您做我所做的:习惯不便了解 Visual Studio 的便利性和优势。 Visual Studio 毕竟没那么差,但是在 vi 宇宙中生活后转换心态需要时间。
  • @Vlad 我从 Visual Studio 世界开始。我在其中开发了 8 个月,并且非常了解 VS(使用过扩展并且正在玩可扩展性 VSX),但是在我使用轻量级 Linux 工具尤其是 vim 之后,一切都变得更好了。

标签: linux debugging vim mono


【解决方案1】:

不确定,这是否对您有帮助,但 Visual Studio 2010 有一个名为 VsVim 的 Vim 仿真层。

查看:http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329

【讨论】:

  • 恐怕这不会涵盖我已经使用vim的所有东西。
  • 有趣的是,这个扩展是由 SO 的一位高级用户 JaredPar 创建和管理的。您可以关注他的博客以了解有关 VsVim.Profile 的更多详细信息:stackoverflow.com/users/23283/jaredpar
【解决方案2】:

如果我是你,我会在你的 Windows 机器上安装 MinGW 或 Cygwin,然后还是使用 gvim/vim(或者只使用 Win32 vim)。

VS 只是一个大编辑器。您将使用 microsoft 编译器(可能使用 msbuild 或 nmake)进行构建,但可能不得不接受您只能使用 VS 调试 windows 的东西(除非您构建 for MinGW 或 Cygwin 并使用gcc 和 gdb)

【讨论】:

  • 如果有ncurses调试器就好了。 VS 调试器非常好,但我不喜欢 VS 关闭和打开时的长时间等待(现在计算机速度更快,但我相信 VS 仍然会很慢)。
【解决方案3】:

您可以将vim 用作代码编辑器,您甚至可以在为 .NET 平台开发软件时坚持使用 Linux。 Mono 背后的人让这一切发生。 Mono 是一个软件平台,旨在让开发人员轻松创建跨平台应用程序。它是基于 C# 的 ECMA 标准和公共语言运行时的 Microsoft .Net Framework 的开源实现。

您可以坚持自己喜欢的编辑器,并使用 Mono 附带的工具来编译您的东西。有一个名为 Mono Develop 的 IDE,但与 Visual Studio 相比,它非常基础……而与 VIM 相比,它缺乏简单性。

【讨论】:

    【解决方案4】:

    C# 项目是纯文本文件,因此很容易通过 SMB 共享在系统管理员允许的任何编辑器中编辑它们。 但是,如果不返回 Windows 机器进行测试将很困难,虽然 Mono 实现了框架,但如果您以 Windows 为目标,它仍然是一个不同的环境。

    【讨论】:

    • 我希望能在大部分时间模拟Windows环境,在Linux上调试大部分错误,并且每天只在Windows下测试一次应用程序。
    • 如果模拟 Windows 环境,最好的方法是使用 Windows... 忽略 Mono/.Net 的差异,Linux 本身的工作方式与 Windows 非常不同。你只是想让自己变得困难:)
    • @Vlad 我在考虑 Cygwin,但似乎这里没有人在使用有效工具的同时满足商业需求的真正经验。
    • @xralf,我每天都使用 cygwin,我们的(旧)Windows 构建服务器都使用 tcl、perl 和 cygwin 连接在一起。除非您准备编写适当的可移植代码,否则您无法轻松地在 linux 上为 Windows 编写软件。使用 C# 这很容易,但您的同事可能不会感谢您,因为 mono 并不支持所有内容。对于 C++,您会发现 boost 作为一个跨平台工具集运行良好,但您仍然需要使用 MS 工具在 Windows 上进行调试。
    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2015-06-19
    • 2015-03-31
    相关资源
    最近更新 更多