ph_.lib -- create small windows .dll/.exe
[page last modified 2019-10-25]

For latest version go to paulhoule.com/ph_ ph_.lib is a tiny C stdlib replacement to produce smaller .exe files. It is intended to support only a little-endian architecture (eg. X86) and the Microsoft Visual C compiler. 32 and 64 bit versions are provided. Only a small subset of the C stdlib is implemented. What is implemented is compatible with MSVC, so a build-time switch to select either ph_ or MSVC stdlib is possible -- a design goal for testing. fwrite() supports "text" mode output, converting 0xa to 0xd, 0xa. Text mode input is not supported; files must be read in binary mode. Ver 1.x are pretty much "proof of concept." No __chkstk is supplied; for programs making large stack allocations the caller must add the compiler's chkstk.obj to their link list. The target use of ph_.lib is a Windows program, windowed or console. The program must be recompiled using ph_.h and linked against ph_.lib (ph_.lib uses non-standard structs, #defines and calling conventions). A typical scenario is to develop using the MSVC stdlib, then recomplile/link against ph_.h/ph_.lib for release. A small .exe will typically be a twentieth of the MSVC stdlib size using ph_.lib. Any version of MSVC 6.0 or later should work, 32 or 64 bit. The following files are included: ph_.h C Header file ph_.c C source ph_.asm 32/64-bit X86 asm (rewrite of some ph_.c funcs) ph_.txt This file lib\ph_.lib 32-bit library lib\x64\ph_.lib 64-bit library Change Log ---------- Ver 1.4: Add support for building a dll, and command line args (argc/argv). 10/25/19 Args are parsed using shell32.dll function CommandLineToArgvW(). Ver 1.3: Removed ph_ prefix from all names; ph_.h/ph_.lib may no longer be 10/6/19 compiled and linked along with stdlib .h files and stdlib.lib. Added a few dozen funtions. Still no support for argc/argv. Ver 1.2: Added memmove,wmemmove, strcpy, wstrcpy 9/24/19 removed ?memcpy code; ?memcpy now equated to ?memmove Ver 1.1 Added minimal wide char support; another proof-of-concept release. 9/13/19 New: wchar_t, wint_t, wmemcpy, wmemset, wcschr, scslen, _wfopen Ver 1.0: Initial release. Only a handful of functions implemented. 9/1/19 Not really useful; basically a proof-of-concept.


Click here to download  ph_14.zip

Click here to download  ph_13.zip

Click here to download  ph_12.zip

Click here to download  ph_11.zip

Click here to download  ph_10.zip


Widget is loading comments...

You are visitor 3692       Go to Home Page