3 ms·
I've written a few small no-dependency things like this for Windows. Some random notes on writing them: https://news.ycombinator.com/item?id=11011857 https://ne
by to3m 9y ago
I've written a few small no-dependency things like this for Windows. Some random notes on writing them: https://news.ycombinator.com/item?id=11011857 https://news.ycombinator.com/item?id=11011857
These are all no-dependency, and all <100KBytes:
Keyboard layout switcher for Windows: https://github.com/tom-seddon/kbswitch https://github.com/tom-seddon/kbswitch
Windows window manipulation tools, for use with AutoHotKey: https://github.com/tom-seddon/align_window2 https://github.com/tom-seddon/align_window2, https://github.com/tom-seddon/align_window3 https://github.com/tom-seddon/align_window3, https://github.com/tom-seddon/dispswitch https://github.com/tom-seddon/dispswitch
Snack-size Windows clock: https://github.com/tom-seddon/NotifyClock https://github.com/tom-seddon/NotifyClock
I think the large ones are only as large as they are because they statically link with the CRT. I used to do the full /NODEFAULTLIB /OPT:NOWIN98 thing, and leave out the CRT entirely, so the EXEs were tiny and had no dependencies - but this was a bit of a pain to work with. And dynamically linking with the CRT caused me a couple of deployment problems here and there, since I used to share my binaries folder between several PCs in the past. So eventually I settled on the purely no-dependency option: statically linking with the CRT, and ignoring the EXE size. The average app just isn't made meaningfully larger in the grand scheme of things by this, and by modern standards it barely even counts as measurable. Even if it's a tiny app, and now 10x larger, it might still be only 90KBytes...