Consider this:
// mixedmodetest.cpp
// compile with any win32 compiler
// compileroptions: /O2 /X /Zl /I%SystemRoot%\SUA\usr\include
// linkeroptions: /nodefaultlib /libpath:%SystemRoot%\SUA\usr\lib /subsystem:console
// /entry:__MixedModeProcessStartup libpsxdll.a libcsafe.a safecrt0.o
#include <stdio.h>
#include <sys/utsname.h>
extern "C"
int __cdecl main()
{
utsname OSinfo = {0};
if(uname(&OSinfo) < 0) return -1;
const char szFormat[] = "System = %s\nNode = %s\nRelease = %s\nVersion = %s\n";
printf (szFormat, OSinfo.sysname, OSinfo.nodename, OSinfo.release, OSinfo.version);
return 0;
}
Using the Intel compiler, the commandline could look like this:
set cloptions=/O2 /X /Zl /I%SystemRoot%\SUA\usr\include
set linkoptions=/nodefaultlib /libpath:%SystemRoot%\SUA\usr\lib /subsystem:console \
/entry:__MixedModeProcessStartup libpsxdll.a libcsafe.a safecrt0.o
icl.exe %cloptions% mixedmodetest.cpp /link %linkoptions% libircmt.lib
It works for me in SUA
|