Si se vincula estáticamente el tiempo de ejecución, a continuación, la otra opción es escribir su propia versión de mktemp
en un archivo objeto. El vinculador debería preferir su versión en lugar de la versión en tiempo de ejecución.
Editar: Gracias a Jason Coco por señalar un gran malentendido que tuve en mktemp
y sus familiares. Este es un poco más fácil de resolver ahora. Desde el enlazador preferirá una versión de un archivo de objeto, sólo tiene que escribir mktemp
en términos de mkstemp
.
Las únicas dificultades son la limpieza de los descriptores de archivo que mkstemp
volverá a usted y hacer que todo hilo de seguridad. Puede usar una matriz estática de descriptores y una función registrada de atexit
para la limpieza, si puede limitar el número de archivos temporales que necesita. Si no, solo usa una lista vinculada en su lugar.
Uso mkstemp de mktemp. –
¿Cuál es la razón por la que tiene que usar mktemp? –