Aren’t these “malloc”,”strlen”,”malloc” etc standard C functions?
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10 ________________________________ From: Gravis <[email protected]> Sent: Friday, May 31, 2019 11:37:39 PM To: [email protected] Subject: [Mingw-w64-public] CRT uses POSIX functions. I'm a huge fan of POSIX but POSIX functions should not be used in the MinGW-w64 CRT code as they are now. Using them in this way creates mandatory dependencies on additional libraries (e.g. MSVCRT). Since all libraries ultimately rely on Kernel32, it only makes sense to replace these POSIX functions with those from Kernel32, especially since they have almost identical substitutes. See also: https://support.microsoft.com/en-us/help/99456/win32-equivalents-for-c-run-time-functions Compling the most simplistic program tells you about everything missing. > emptymain.c int main(int argc,char** argv) { return 0; } > compilation command i686-w64-mingw32-gcc -o emptymain.exe emptymain.c -nodefaultlibs -lmingw32 -lkernel32 > examples of undefined POSIX symbols mingw-w64-crt/crt/crtexe.c:423: `malloc' mingw-w64-crt/crt/crtexe.c:428: `strlen' mingw-w64-crt/crt/crtexe.c:429: `malloc' mingw-w64-crt/crt/crtexe.c:430: `memcpy' mingw-w64-crt/crt/crtexe.c:342: `exit' mingw-w64-crt/crt/merr.c:72: `fprintf' mingw-w64-crt/crt/pseudo-reloc.c:149: `fwrite' mingw-w64-crt/crt/pseudo-reloc.c:150: `vfprintf' mingw-w64-crt/crt/pseudo-reloc.c:156: `abort' mingw-w64-crt/crt/crt_handler.c:many: `signal' mingw-w64-crt/crt/tlsthrd.c:48: `calloc' mingw-w64-crt/crt/pesect.c:88: `strncmp' mingw-w64-crt/crt/tlsthrd.c:87: `free' mingw-w64-crt/crt/tlsthrd.c:141: `free' mingw-w64-crt/crt/pesect.c:75: `strlen' mingw-w64-crt/crt/pesect.c:88: `strncmp' _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
