我将使用C ++的一个子集(在编程元素中的一些想法中工作),但我多年没有使用过C ++。我将在具有共享内存的100+节点系统上编写高度并行算法。节点是Mac OS X,但我也可以访问* nix和windows机器。
人们对编辑器,调试器等有什么建议吗? (我假设我应该使用gcc作为编译器?)我不确定用什么样的环境来做这件事。什么是标准的行业环境?更好的是,最好的FOSS集团是什么? (我是研究生。)我也会打电话给STL,也可能是第三方代码。
答案 0 :(得分:3)
在Mac上你可以使用XCode,它是免费的。
但如果您想要一个跨平台的IDE(Windows / Linux / Mac OS X),请查看Eclipse和KDevelop。
所有这些系统都提供GCC(C / C ++)。
答案 1 :(得分:3)
通常我建议使用TotalView或DDT来调试并行程序。但是,据我所知,对于Mac OS X都没有实现。虽然我是Mac风扇,但这是在集群或超级计算机上运行Linux的一个令人信服的理由。
如果您的群集上有Linux,我还建议使用并行分析器,例如Intel's ThreadAnalyzer或Allinea的OPT(与上面相同的链接)。同样,对于严肃的并行开发,这种工具是必须的。摆弄试图分析并行性能或使用专为串行程序设计的工具找出不良扩展的原因是浪费时间。
我很困惑为什么一个研究生感到受到FOSS的限制。我最了解的大学(我承认的只有一对)都有各种商业编译器和其他工具。我不是GCC的忠实粉丝。更不用说我是一个只有一个编译器的粉丝;您可以访问的编译器越多,您将了解他们可以执行的操作。根据我的经验,生成最快代码的编译器通常不是产生最佳诊断的编译器。我希望两者都处于不同的发展阶段。
至于IDE - 我使用Emacs。努夫说。
答案 2 :(得分:1)
Netbeans作为跨平台IDE总是很好。