c - 使用“Windows 上的 Ubuntu 上的 Bash”编译的 C 脚本是否比直接使用 Windows 编译和运行慢?
问题描述
我想运行用 C 编写的单个文件脚本。我一直在直接从终端使用 Bash On Ubuntu On Windows 10,同时使用 gcc for Linux 进行编译。
我想知道是否可以通过直接从 Windows 编译和运行脚本,例如使用 Windows gcc 并获取 Windows 可执行文件,我是否会在执行速度方面获得更好的脚本性能?
如果一切都在 Windows 中完成,脚本会运行得更快吗?
谢谢
解决方案
如果满足以下条件,本机编译的程序将比等效的脚本运行得更快并且使用更少的内存:
- 语言和源代码相同(即编写一个 C 程序并编译相同的源代码)
- 编译器足够好(大多数都是,除非您编写自己的编译器并对其进行故障排除)
也就是说,C 是一种很棒的编程语言,但对于脚本来说并不容易,因为运行 shell 程序(如grep
、sed
和其他非常有用的命令)并将它们的输出通过管道传递给其他命令很麻烦。这当然是可能的(我喜欢tcc
这方面),但应该稍微用于其他常规命令未涵盖的任何内容(并且,当您使用 Windows 10 时,PowerShell 至少可以说是一个巨大的改进cmd
)。
现在,如果您想在 Windows 上编写 linux 风格的脚本(这更像是“GNU 风格”的脚本),您可能想看看MinGW(Minimalist GNU for Windows)。它拥有标准 Linux 拥有的所有很酷的工具(bash
、grep
、sed
、awk
、 ...),这些工具都是为 Windows 本地编译的,因此您将获得与 Linux 大致相同的执行速度,并具有脚本优于编译程序的优势。
推荐阅读
- jquery - 如何修复“一次查询多次插入mysql表”
- php - PHP AGI GET VARIABLE 结果=1 但数据为空
- c - C中的双重列表
- c# - ML.Net 预测分数返回 NaN
- python - python中的“--snip--”是什么?
- javascript - 迭代 HTML 表格以突出显示单元格具有多个比较项的差异
- javascript - React - 直接输入地址栏时图像路径更改为相对路径
- python - 应用 pandas 的 groupby 功能后如何分析数据?
- python - Django 创建自定义用户模型
- google-app-engine - 在 Google Colab Notebook 上安装 google appengine