Leí un artículo sobre la importación de c libs en un módulo rápido. ¿Qué sucede si no necesita una biblioteca y solo varios encabezados del sistema como unistd.h, fcntl.h, sys / socket.ho netinet / in.h? ¿Qué se supone que debe poner en el archivo module.modulemap?

0
joels 26 ene. 2016 a las 00:24

2 respuestas

La mejor respuesta

Esto en el module.modulemap funcionó para mí

module SwiftCWrapper [system] {
   header "unistd.h"
   export *
}
0
joels 6 feb. 2016 a las 07:18

La mayoría de los encabezados del sistema ya están en un módulo para Swift. import Darwin (o import Glibc si usa Swift de código abierto en Linux) y obtendrá muchos de ellos.

Si desea explorar la interfaz del módulo en Xcode para ver cómo se ven las declaraciones Swift de esas API, una buena manera es escribir una en su archivo fuente (digamos, arc4random) y hacer cmd-clic en él. A continuación, puede navegar por el resto del módulo.

0
rickster 27 ene. 2016 a las 07:51