我想运行一个用C编写的文件脚本。我一直在直接从终端在Windows 10的Ubuntu 10上使用Bash,而在Linux上使用gcc进行编译。
我想知道是否可以通过直接从Windows编译和运行脚本(例如使用Windows gcc并获取Windows可执行文件)来提高执行速度,从而提高脚本的性能?
如果一切都在Windows中完成,该脚本将运行得更快?
谢谢
最佳答案
如果满足以下条件,则本机编译的程序将比脚本等效的程序运行更快,并且使用的内存更少:
语言和源代码是相同的(即,编写C程序脚本并编译相同的源代码)
编译器足够好(大多数情况是,除非您编写了自己的编译器并对其进行故障排除)
就是说,C是一种很棒的编程语言,但是对于脚本来说却不是那么容易,因为运行shell程序(例如grep
,sed
和其他非常有用的命令)并将它们的输出通过管道传递给其他命令很麻烦。当然可以(在这方面,我喜欢tcc
),但是应该稍微用在其他常规命令未涵盖的任何内容上(并且,当您使用Windows 10时,PowerShell是对cmd
的巨大改进),至少要说)。
现在,如果您想在Windows上进行linux风格的脚本编写(这是更多的“ GNU风格”脚本编写),则可能需要看看MinGW(Windows的极简主义GNU)。它具有标准Linux拥有的所有很酷的工具(bash
,grep
,sed
,awk
,...),这些工具是为Windows本地编译的,因此您将获得与Linux几乎相同的执行速度,与脚本相比,脚本具有优势。