C Programm zeigt% zu nach der Konvertierung nach Windows

Ich habe ein Linux-Programm unter Windows über Mingw ausgeführt. Die Ausgabe des Programms sieht unter Windows jedoch anders aus als unter Linux.

Zum Beispiel lautet die Ausgabe unter Windows wie folgt (ich erhalte 'zu' anstelle von reellen Zahlen):

Approximated minimal memory consumption:
Sequence        : zuM
Buffer          : 1 X zuM = zuM
Table           : 1 X zuM = zuM
Miscellaneous   : zuM
Total           : zuM

nter Linux kompiliert das ursprüngliche Programm (ohne Mingw) mit einer Warnung. Unter Windows wird es unter Mingw mit Null-Warnungen kompiliert.

Es gibt etwas, über das ich Bescheid wissen sollte?
Bietet Mingw 100% Kompatibilität oder muss ich das Programm ändern, damit es unter Win funktioniert?

Ich weiß nicht in welche Richtung ich gehen soll. Wo soll ich anfangen, das Programm zu reparieren?
Glaubst du, ich habe bessere Chancen mit Cygwin?

Aktualisieren
Wikipedia erwähnt dies: "Die mangelnde Unterstützung für C99 hat zu Portierungsproblemen geführt, insbesondere bei Konvertierungsspezifizierern im Printf-Stil."
Ist das die Sache, in der ich meinen Kopf stieß?

Aktualisieren
Meine mingw Version ist:

MINGWBASEDIR=C:\MinGW
gcc version 4.8.1 (GCC)
gcc version 4.8.1 (GCC)
GNU gdb (GDB) 7.6.1
GNU ld (GNU Binutils) 2.24
GNU windres (GNU Binutils) 2.24
GNU dlltool (GNU Binutils) 2.24
GNU Make 3.82.90
#define __MINGW32_VERSION           3.20
#define __W32API_VERSION 3.17

(Ich habe diesen Code verwendet, um die Version zu erhalten:

@echo off
REM version-of-mingw.bat
REM credit to Peter Ward work in ReactOS Build Environment RosBE.cmd it gave me a starting point that I edited.
::
:: Display the current version of GCC, ld, make and others.
::

REM %CD% works in Windows XP, not sure when it was added to Windows
REM set MINGWBASEDIR=C:\MinGW
set MINGWBASEDIR=%CD%
ECHO MINGWBASEDIR=%MINGWBASEDIR%
SET PATH=%MINGWBASEDIR%\bin;%SystemRoot%\system32
if exist %MINGWBASEDIR%\bin\gcc.exe (gcc -v 2>&1 | find "gcc version")
REM if exist %MINGWBASEDIR%\bin\gcc.exe gcc -print-search-dirs
if exist %MINGWBASEDIR%\bin\c++.exe (c++ -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\gcc-sjlj.exe (gcc-sjlj.exe -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\gcc-dw2.exe (gcc-dw2.exe -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\gdb.exe (gdb.exe -v | find "GNU gdb")
if exist %MINGWBASEDIR%\bin\nasm.exe (nasm -v)
if exist %MINGWBASEDIR%\bin\ld.exe (ld -v)
if exist %MINGWBASEDIR%\bin\windres.exe (windres --version | find "GNU windres")
if exist %MINGWBASEDIR%\bin\dlltool.exe (dlltool --version | find "GNU dlltool")
if exist %MINGWBASEDIR%\bin\pexports.exe (pexports | find "PExports" )
if exist %MINGWBASEDIR%\bin\mingw32-make.exe (mingw32-make -v | find "GNU Make")
if exist %MINGWBASEDIR%\bin\make.exe (ECHO It is not recommended to have make.exe in mingw/bin)
REM ECHO "The minGW runtime version is the same as __MINGW32_VERSION"
if exist "%MINGWBASEDIR%\include\_mingw.h" (type "%MINGWBASEDIR%\include\_mingw.h" | find "__MINGW32_VERSION" | find "#define")
if exist "%MINGWBASEDIR%\include\w32api.h" (type "%MINGWBASEDIR%\include\w32api.h" | find "__W32API_VERSION")

:_end
PAUSE

)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage