VisualCppTools.Community.Daily.VS2017LayoutAnd also an example using miniz to unpack the compilers only.
Commandline options for testing with PellesC include files
cl.exe -c -GS- -Zl -wd4103 -Dinline=_inline -Drestrict=__restrict
x64:
cl.exe -c -GS- -Zl -wd4103 -Dinline=_inline -Drestrict=__restrict -D__POCC_TARGET__=3
EDIT:
An alternate WinAPI
fSDK© - Frankie's SDK for PellesCuseful Add-In
SrcFileCcl Add-InA tiny startup code to use msvcrt.dll and PellesC stdio.h
// msvcrt_main_poc
#ifndef _DLL
#error("use runtime DLL -MD")
#endif
#pragma comment(lib, "msvcrt.lib")
#if _MSC_VER >= 17
# ifdef _WIN64
# pragma comment(linker,"/subsystem:console,5.2")
# else
# pragma comment(linker,"/subsystem:console,5.1")
# endif
#endif
typedef struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
} MSFILE;
__declspec(dllimport) extern MSFILE * __cdecl __iob_func();
#ifdef _M_X64
MSFILE * __imp___stdin;
MSFILE * __imp___stdout;
MSFILE * __imp___stderr;
#else
MSFILE * _imp____stdin;
MSFILE * _imp____stdout;
MSFILE * _imp____stderr;
#endif
void __cdecl mainCRTStartup(void)
{
__declspec(dllimport) int __cdecl __getmainargs(int*, char***, char***, int, void*);
__declspec(dllimport) void __cdecl exit(int status);
int __cdecl main(int argc, char **argv);
int argc;
char** argv;
char** env;
int sinfo = 0;
#ifdef _M_X64
__imp___stdin = &__iob_func()[0];
__imp___stdout = &__iob_func()[1];
__imp___stderr = &__iob_func()[2];
#else
_imp____stdin = &__iob_func()[0];
_imp____stdout = &__iob_func()[1];
_imp____stderr = &__iob_func()[2];
#endif
__getmainargs(&argc,&argv,&env,0,&sinfo);
exit(main(argc,argv));
}