I wrote:
That is correct. Windows programs receive given a single string of arguments to parse whereas Unix programs receive a vector which can be passed to main unchanged by the startup code. ... A full solution will need to be a little bit more complicated. There isn't a specification of how Windows command-lines should be generated or interpreted from an array of strings...
What I should have written is: Windows programs receive a single string of arguments to parse whereas Unix programs receive an array which can be passed to main unchanged by the startup code. ... A full solution will need to be a little bit more complicated. There isn't a specification of how Windows command-lines should be converted to or from an array of strings... By the way, the startup code or other command-line parser does not have to handle redirection or variable substitution; this *is* done by the command processor (which implies that it does parse the command- line, even though it doesn't give you the results of this).