Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用visualstudio为C++;对于Unix_C++_Visual Studio_Unix_Development Environment - Fatal编程技术网

C++ 使用visualstudio为C++;对于Unix

C++ 使用visualstudio为C++;对于Unix,c++,visual-studio,unix,development-environment,C++,Visual Studio,Unix,Development Environment,有没有人在尝试使用VisualStudio为Unix开发应用程序时分享过战斗经历?我不是说在Mono或Wine虚拟平台下使用.NET 我们公司有大约20名开发人员,他们都运行Windows XP/Vista,主要为Linux和Solaris开发。直到最近,我们都登录到一个主Linux服务器,并以传统的方式修改/构建代码:Emacs、Vi、dtpad——随你选择。然后有人说,“嘿,我们生活在黑暗时代,我们应该使用IDE。” 因此,我们尝试了一些,并决定VisualStudio是唯一一个能够满足我们

有没有人在尝试使用VisualStudio为Unix开发应用程序时分享过战斗经历?我不是说在Mono或Wine虚拟平台下使用.NET

我们公司有大约20名开发人员,他们都运行Windows XP/Vista,主要为Linux和Solaris开发。直到最近,我们都登录到一个主Linux服务器,并以传统的方式修改/构建代码:Emacs、Vi、dtpad——随你选择。然后有人说,“嘿,我们生活在黑暗时代,我们应该使用IDE。”

因此,我们尝试了一些,并决定VisualStudio是唯一一个能够满足我们性能需求的IDE(是的,我确信IDEX是一个非常好的IDE,但我们选择了VS)

问题是,如何设置您的环境,使这些文件在VS本地可用,但在生成服务器上也可用?我们决定写一个VisualStudio插件——每当我们点击“保存”时,它会将我们的文件本地写入构建服务器,并且我们有一个很胖的“同步”按钮,当我们的文件在服务器端更改时(当我们从源代码管理服务器更新到最新的文件时),我们可以按下该按钮

该插件还使用Visual Studio的外部构建系统功能,最终只需将ssh插入构建服务器,并调用我们的本地“make”实用程序(即Boost build v2,它具有很强的依赖性检查功能,但启动速度非常慢,即启动时间为30-60秒)。结果通过管道传回VisualStudio,这样开发人员就可以单击错误并转到相应的代码行(实际上相当流畅)。构建服务器使用GCC并交叉编译所有Solaris构建

但是,即使我们已经完成了所有这些,每当我开始在VisualStudio中编写代码时,我还是忍不住叹息。我点击一个文件,开始打字,然后VS chugs追上我

还有什么比不得不停下来等你的工具更烦人的事吗?这些好处值得挫折吗


想法、故事、帮助?

哇,对于VisualStudio来说,这听起来真的很奇怪。我很高兴能在维姆度过难关。然而,我喜欢VisualStudio的一件事就是调试器。听起来你好像根本没在用它


当我开始回答这个问题时,我想您一定是指在VisualStudio中开发便携式应用程序,然后将它们迁移到Solaris。我做了这件事,并且有过愉快的经历。

我感觉到了你的痛苦。我们有一个“跨平台”的应用程序。一个典型的客户机/服务器应用程序,其中客户机需要能够在windows和linux上运行。由于我们的客户端主要使用windows,所以我们使用VS2008(调试器使生活更加轻松)-但是我们仍然需要执行linux构建


这方面的主要问题是我们签入了我们不知道会在gcc下生成的代码,这很可能会破坏我们设置的CI内容。因此,我们在所有开发人员的机器上安装了该软件,允许我们在将工作副本提交回存储库之前测试该工作副本将在gcc下生成。

我们使用的解决方案与您描述的类似

我们的代码存储在世界的Windows端,UNIX(确切地说是QNX 4.25)可以通过NFS挂载进行访问(多亏了针对Windows的UNIX服务)。我们有一个ssh到UNIX来运行make,输出到VS的管道。访问代码速度很快,构建速度比以前慢了一点,但我们最长的编译时间目前不到两分钟,这没什么大不了的

使用VS进行UNIX开发是值得的,因为我们现在有了IntelliSense。少打字=快乐开发者。

网络共享

当然,你在网络上会有致命的延迟,但至少你的文件只有一个副本

你不会想听我在两个平台上开发时做了什么。但是你要:每天拖放拷贝几次。本地构建和运行,并定期在Unix上检查它,以确保gcc满意,并且在该平台上的单元测试也满意。这并不是一个快速的周转周期。

@monjardin

我们使用它的主要原因是通过VisualAssistX(由Whole Tomato提供)提供的重新分解/搜索工具。尽管还有很多其他的好东西,比如IntelliSense。我们还正在研究与其他工具AccuRev、Bugzilla和Totalview的集成,以完成该环境

@袋鼠

使用多个编译器听起来很痛苦。对于我们所有的平台,我们都有幸坚持使用gcc

@乔希

哎呀!这听起来是引入错误的好方法!:-)

VS chugs追上我
六羟甲基三聚氰胺六甲醚。。。你的机器需要更多的内存和内存。我从来没有遇到过性能问题

我有大约十年的经验,完全按照你的建议去做,大部分是在金融行业,为银行、证券交易所和证券经纪行业的客户开发实时系统

在继续之前,我需要承认所有这些都是在VS6+CVS中完成的,最近是在SVN中完成的

源代码版本控制

开发人员有单独的sourcesafe存储库,这样他们可以存储他们的工作,并在逻辑里程碑处检查it工作包。当他们觉得需要进行集成测试时,我们会运行一个脚本,将其检查到SVN中

一旦签入SVN,我们将启动一个流程,该流程将自动生成相关的makefile,以便在目标机器上编译它们,以进行持续集成

我们还有另外一组脚本,可以将SVN中的新内容同步到VS负责的文件夹中。有一点差距,因为VS不能自动拾取新文件;我们通常手动处理。这只会在项目的前几天定期发生

这是我们如何维护代码的概述。我得说,我可能已经