Frage
Ich habe die rand_s
Funktion, einen Teil der CRT, als äußerst nützlich erwiesen, während meine Anwendung zu entwickeln. Es ist aber mein Verständnis, dass es nicht in der letzten MinGW Header-Dateien prototypisiert wird.
Deshalb frage ich für eine umfassende Mittel entweder die Bereitstellung oder Prototyping eine solche Funktion. Ich habe einen #ifdef MINGW
Stil Haken betrachtet verwenden, dies jedoch fehlschlagen sollte beginnen künftige Änderungen der Funktion Prototyping.
Was also ist der beste Weg, um die Funktion zur Verfügung zu meinem Programm zu machen, so dass es mit MinGW kompiliert werden kann?
Lösung
Ein hackish Weg zur Arbeit, um dies ist:
#define rand_s silly_function_name
#include <mingw.h>
#undef rand_s
extern errno_t rand_s (unsigned int *randomValue);
So, wenn mingw für sie einen Prototyp beginnt die Bereitstellung, wird es nicht stören (es sei denn, sie es als Makro zur Verfügung stellen, was unwahrscheinlich ist).