al45tair / argx Goto Github PK
View Code? Open in Web Editor NEWArgX extended command line passing specification for Win32, with implementation.
License: MIT License
ArgX extended command line passing specification for Win32, with implementation.
License: MIT License
The only problem with this is that the search path behaviour for CreateProcess() is potentially tricky to replicate; the upshot is that it's somewhat easier to do what we do now and test the loaded application image, because the system will do the search (if necessary) for us.
CMD is particularly annoying because it has an even shorter than necessary length limit of 8,192 characters. Sadly it isn't quite as simple a shell as COMMAND.COM was, but it isn't outside the realm of possibility that someone could knock up a CMD clone with built-in ArgX support.
ArgX should have decent documentation, hosted on ReadTheDocs so it's easy to see and gets built automatically from this repo.
Right now, there are some source files that you could build yourself, or include in your solution. Ideally there should be a binary distribution, with 32-bit and 64-bit .lib files and the .h file, as well as some instructions on how to add it to your Visual Studio project.
Cygwin will need this API.
There should be a public CI system set to build the library, which should be published as a binary in Github.
It'd be good to have an API to test whether a given executable file supports ArgX, without having to try to execute it.
There should be a website to promote the use of ArgX; if it can achieve critical mass, Microsoft might pick it up and make it officially part of the system, at which point command line length limits and various other stupidities can go away.
Even without Microsoft's official endorsement, if it can gain support from various shells, people will start supporting it in their products.
MSys and Cygwin should support ArgX. That way there won't be command line length limits on processes launched from bash in those environments, provided those processes also support ArgX.
This has been manually (and hence only partially) tested. There should be a test rig.
POSIX appears to say that argv[argc] should be NULL, rather than being verboten. It might be nice to give a nod to that in ArgX.
The 32-bit WOW64 support is currently broken because it assumes a 64-bit ArgX structure where in fact there will only be a 32-bit structure (so ArgX doesn't trigger).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.