1

我需要在 Suze Linux 中创建一个实用程序。该实用程序将对一些文本文件进行修改,然后使用这些文本文件中的信息使用接受命令行参数的不同可执行文件对计算机中的设备进行编程。

我精通 c#,但从未使用过 Linux。我应该花时间学习 Gnu C++ 来做到这一点,还是安装 Mono?我将如何执行编程实用程序并传递命令行参数?

4

3 回答 3

1

在 C 和 C++ 中system("command arguments"),您可以使用系统解释器来执行命令(即,您可以像在 shell 中输入命令一样使用它)。命令字符串可以在运行时构造。我对 C# 不是很熟悉,但如果我没记错的话,您可以使用ProcessProcessStartInfo类来运行系统命令。

于 2010-04-10T17:59:20.910 回答
1

根据您的程序的复杂性,我建议使用像 Perl 这样的脚本语言。在您的工具箱中拥有一种脚本语言总是一个好主意。

于 2010-04-10T18:04:19.590 回答
1

您是否有理由将自己限制为仅使用 C++ 或 C#?您可以考虑许多选项,例如:

对于非常简单的任务:

  • Bash:在某些情况下,一个简单的 Bash 脚本就能解决这个任务。将信息从一个进程传送到另一个进程是轻而易举的事,并且您可以轻松使用 sed、awk 等。另一个主要优点是它几乎可以安装在任何地方。

对于稍微复杂的任务,您可以尝试使用脚本语言:

  • Python:易学、易读。对于快速组合小型应用程序非常有用。您可以使用subprocess它与其他进程进行通信。
  • Ruby:与 Python 类似的注释 - 一种语法简洁的优秀脚本语言。
  • Perl:Perl 非常擅长处理文本,虽然我个人不喜欢这种语法。

其他选项:

  • Java:您的 C# 经验将使您能够快速学习 Java,因为它是一种非常相似的语言。Linux 正式支持 Java。
  • C#:很多 Linux 用户对 C# 持谨慎态度,因为它不够免费,但显然你不必担心。我试过几次它都工作得很好。请注意,Mono 不是 100% 与 Microsoft 的版本兼容。
  • C++:对于你打算做的事情,我个人不推荐 C++。不过它会解决这个任务,如果你已经知道一些 C++,那么我想它是值得考虑的。

显然还有许多其他合适的选择。

于 2010-04-10T18:08:11.820 回答