Pergunta
Eu encontrei o rand_s
função, parte do CRT, para ser extremamente útil ao desenvolver meu aplicativo. No entanto, entendi que não é prototipado nos arquivos de cabeçalho do Mingw recentes.
Portanto, estou pedindo um meio abrangente de fornecer ou prototipar essa função. Eu pensei em usar um #ifdef MINGW
Gancho de estilo, no entanto, isso pode falhar deve fazer revisões futuras iniciar a prototipagem da função.
Portanto, qual é a melhor maneira de disponibilizar a função para o meu programa, de modo que ele possa ser compilado com o Mingw?
Solução
Uma maneira hackish de contornar isso é:
#define rand_s silly_function_name
#include <mingw.h>
#undef rand_s
extern errno_t rand_s (unsigned int *randomValue);
Dessa forma, se o Mingw começar a fornecer um protótipo para ele, ele não interferirá (a menos que eles o forneçam como uma macro, o que é improvável).