乐趣区

关于c:csdn-逃离计划-如何优雅的在windows平台用命令行写代码

为什么要这么做

之前为了写一些 window 环境下的小工具,想要写一个.exe 间接运行,与 linux 环境下相似,间接应用命令行的模式实现一些根本的计算之类的操作,当理论要做的时候,首先就发现了一个十分大的问题:
依照 c 语言编译过程来说,首先须要编写一个.c 文件,而后通过这个.c 文件与编译链接等操作,最终生成一个可能在 linux 环境下运行的可执行文件。然而,在 windows 环境下,零碎并没有集成 gcc 之类的工具,之前写这类工具,都是应用 vs 套件主动生成,包含依赖环境等都是主动装置好的,一旦波及到文件挪动之类,环境变量常常会呈现各种各样的问题,解决起来很头疼。
因而,本文次要就来搞一个小 demo,看一下,windows 一个小的命令行工具,想要尽可能疾速的搭建一个精简的环境大略须要怎么做。(偷懒方法,其实也是搭建了一个小型 linux 环境,技术细节须要深究,暂不做思考)

装置依赖

在 linux 环境下,咱们编译一个.c 文件,使其生成一个可执行文件,须要手动执行一条命令,gcc demo.c -o test 当然,更加简单的零碎须要用到穿插编译等,这里暂不做探讨。
然而 windows 中没有这种命令,因而就须要借助 c /c++ 编译工具来实现,我这里选用的 Cygwin,从官网下载之后装置该工具,傻瓜式装置,这里不再赘述,须要留神的是,cygwin 默认装置大多数的 linux 命令,比方’ls’,’rm’等。在抉择软件装置形式能够抉择在线装置,抉择装置源,之后会让你抉择须要装置的软件,在全副里抉择 gcc-core g++。
当 cygwin 装置胜利后,关上 cygwin 能够发现生成了一个相似于 linux 环境的命令行环境。

如果在这里间接编写软件,并且应用 gcc 编译的话,确实能生成一个 exe 文件,并且在命令行中能够间接运行,然而,此时应用图形化界面关上生成的可执行文件,就会间接报错,cygwin1.dll 与 libstd++*.dll 文件缺失,这实际上并不是缺失,而是装置了 cygwin 曾经装置了然而 windows 无奈辨认,找到 cygwin 的装置目录,关上 bin,你会发现所有的文件都有,只不过没有被 windows 辨认到
这时候,只须要增加一个环境变量 将 cygwin/bin 的目录增加到环境变量中的 PATH 中去,就能够解决报错的问题。

测试

退出移动版