Hallo zusammen, ich stelle gerade mit Erstaunen fest, dass unter MinGW 64 die Funktion "strsep()" (Ersatz für strtok()) unbekannt zu sein scheint - ganz im Gegenteil zu ARM-GCC und AVR-GCC. Weiss jemand, an welche Einstellung das Vorhandensein dieser Funktion gekoppelt ist? Viele Grüße W.T.
Gast
#5356992
Walter T. schrieb: > Hallo zusammen, > > ich stelle gerade mit Erstaunen fest, dass unter MinGW 64 die Funktion > "strsep()" (Ersatz für strtok()) unbekannt zu sein scheint - ganz im > Gegenteil zu ARM-GCC und AVR-GCC. Das Konzept von MinGW ist, Zitat von der Webseite: >> MinGW compilers provide access to the functionality of the Microsoft C >> runtime and some language-specific runtimes. Das heißt, du bekommst einen Compiler der die Microsoft-Bibliotheken nutzt. Ist da kein strsep() drin (habe ich nicht kontrolliert), dann hast du kein strsep(). > Weiss jemand, an welche Einstellung das Vorhandensein dieser Funktion > gekoppelt ist? Noch ein Zitat: >> MinGW, being Minimalist, >> does not, and never will, attempt to provide a POSIX runtime environment >> for POSIX application deployment on MS-Windows. Das heißt, "wenn nicht ist, dann ist nicht" und wird auch nicht kommen. Die Lösung? Letztes Zitat: >> If you want POSIX >> application deployment on this platform, please consider Cygwin instead. * Compiler wechseln. Oder, wenn das nicht geht, z.B.: * Source-Code für strsep() suchen (https://www.mail-archive.com/busybox@busybox.net/msg11257.html letzter Teil des Patches) * Anhand der man-Page selber programmieren. * strtok() nehmen
Busybox ist GPL. Für eigene Projekte würde ich lieber bei den *BSD nachschauen, ob da ein strsep() drin ist.
Gast
#5362023
strsep() ist halt nicht Teil des C-Standards...
Dr. Sommer schrieb: > strsep() ist halt nicht Teil des C-Standards Es ist nicht Teil des Standards. Trotzdem liefert GCC in einigen Geschmacksrichtungen es mit.
Walter T. schrieb: > Dr. Sommer schrieb: >> strsep() ist halt nicht Teil des C-Standards > > Es ist nicht Teil des Standards. Trotzdem liefert GCC in einigen > Geschmacksrichtungen es mit. Nicht gcc liefert das mit, sondern die libc. Und das ist im Falle von mingw halt die von Microsoft.