如何在 perforce 和 VMS 上为 C++ 进行代码审查/调试/编码/测试/版本控制

Posted

技术标签:

【中文标题】如何在 perforce 和 VMS 上为 C++ 进行代码审查/调试/编码/测试/版本控制【英文标题】:How to do code-review/debug/coding/test/version-control for C++ on perforce and VMS 【发布时间】:2012-08-31 15:08:45 【问题描述】:

我正在 VMS 上使用 perforce(一个版本控制工具)进行 C++ 编程。

我需要在 VMS 上处理数十个甚至数百个 C++ 文件(由 perforce 管理)。

我熟悉 Linux、python,但不熟悉 VMS 上的 DCL(一种脚本语言)。

我需要找到一种方法让编程/调试/代码审查尽可能简单。

我更喜欢在 VMS 上使用 python 和 kscope(一个基于 kde 的文件搜索/代码审查 GUI 工具,可以生成调用图)或类似的工具。

我没有 sys-adm 授权,所以我更喜欢一些无需授权即可安装的代码审查 GUI 工具。

您能否给我一些建议,关于如何在 VMS 上通过 python 进行 code-review/debug/programing/compile/test,同时使用 kscope 或类似的大型文件管理工具进行 code-review ?

任何帮助将不胜感激。

谢谢

【问题讨论】:

也许你可以在你的 VMS 系统上编译一个 emacs 端口和某个版本控制器的一个端口。但我会在 VMS 特定列表或论坛上提出此类问题。 【参考方案1】:

您的问题非常广泛,因此很难给出具体答案。

听起来您心中有远大的目标,这很好,但由于您使用的是 VMS,因此您不会有很多工具可供您使用。 kscope 不太可能在 VMS 上工作。如我错了请纠正我。我相信 python 的半新版本在那里可以正常工作。

我建议从基础开始。获得一个基本的构建系统,让您在发布和调试中构建。考虑从 MMS(HP 提供的类似 make 的工具)或 GNU make 开始。您还应该花一些时间确保您的基于 VMS 的 Perforce 客户端也可以正常工作。 Perforce 的好人可能会或可能不会修复一些怪癖。

如果您在设置 GNU make(在 VMS 上)或在 VMS 上处理 Perforce 客户端时遇到更具体的问题,请提出,但我建议为这些问题创建单独的问题。

【讨论】:

【参考方案2】:

确实,您的问题并不清楚您想在 VMS 上进行哪种编程:C++ 还是 python??

假设您的首要目标是熟悉代码库,即您希望轻松交叉引用源代码:

如果您在 VMS 上运行 Perforce 服务器,那么您可以尝试使用 Linux Perforce 客户端 直接连接到它。并在 Linux 上进行本地“审查”。

如果您没有 Linux 客户端,我会尝试获取最新的修订版本并将原始文件导入外部存储库(svn、git、fossil 等)。然后再次使用 Linux 客户端和工具。

如果您的最终目标是在 VMS 之外进行所有开发,那么它可能并不可行——代码可能使用 VMS 特定的包含、系统/RMS 调用、数据结构。并且将更改来回同步到 VMS 变得混乱。

根据我的经验,一旦您熟悉了代码库,使用任何可用的编辑器(EDIT/TPU、EDT、LSE、emacs 或 vim 端口)直接在 VMS 上进行代码更改会更有效等等)。

至于调试 - VMS 原生调试器支持 X-GUI 以及命令行。检查您的构建系统以进行调试构建,或使用/NOOPT /DEBUG compile 和/DEBUG 链接限定符。

顺便说一句,如果安装在您的 VMS 系统上,请查看 DECset。

【讨论】:

以上是关于如何在 perforce 和 VMS 上为 C++ 进行代码审查/调试/编码/测试/版本控制的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS 上为 Python 包“从源代码”安装 C++ 依赖项?

如何在 windows phone 8 上为 smartfox 构建 boost C++ 库

在 Perforce 中查看具有特定版本的文件

如何在 Perforce 中控制版本号?

MACOSX上为ECLIPSE开发比特币设置C++ IDE

Perforce:如何将稍后的提交应用于同步到早期版本的工作区?