我们开发人员编写的大多数应用程序在启动时都需要外部参数化。我们传递文件路径、管道名称、 TCP/IP 地址等。到目前为止,我一直在使用 命令行将这些内容传递给正在启动的应用程序。我必须解析 main
中的命令行,并将参数定向到需要它们的位置,这当然是 设计得不错,但是对于大量参数来说是 很难维持。最近我决定使用 环境变量机制。它们是全局的,可以从任何地方访问,从架构的角度来看是 没那么优雅,但是是 限制代码的数量。
这是我对这两种策略的第一印象(可能也相当肤浅) ,但我想听听更有经验的开发人员的意见—— 使用环境变量和命令行参数向进程传递参数有哪些起伏?我想考虑以下事项:
备注:
这是我感兴趣的主要方面。
广告。2.这有点实际。我知道一些限制,Windows 目前是 巨大(超过32kB 的命令行和环境块)。我想这不是一个问题,但是,因为您只需要使用一个文件来传递吨参数,如果您需要的话。
广告。3.我对 Unix 几乎一无所知,所以我不确定这两种策略是否同样适用于 Windows。请详细解释一下。