Red de conocimientos turísticos - Información de alquiler - Acerca de algunos problemas de correspondencia de archivos de encabezado al migrar programas C++ de Windows a Linux

Acerca de algunos problemas de correspondencia de archivos de encabezado al migrar programas C++ de Windows a Linux

Es necesario encapsular la capa de adaptación de osa. Hay algunas diferencias de API entre los dos que no se pueden lograr simplemente cambiando el archivo de encabezado.

Por ejemplo, si desea utilizar la función de estadísticas tanto en Linux como en Windows, utilice el mismo #include, pero la estructura de estadísticas es completamente diferente.

Versión de Linux: typedef?stat?struct?

{ unsigned?long?st_dev;?/*Número de identificación del dispositivo*/ unsigned.long.st_ino;?/*Número de serie del archivo */ unsigned short st_mode;?/*¿Modo de archivo (ver más abajo)? */ unsigned?/* Número de enlaces al archivo */ short?/* ID de usuario del propietario del archivo */ short?/* ID de grupo del grupo al que pertenece el archivo */ unsigned.long.st_rdev;?/ * ID del dispositivo, se aplica solo a archivos especiales*/ unsigned long st_size;?/*Tamaño del archivo en bytes*/ unsigned.long.st_atime;?/*Hora del último acceso*/ unsigned long st_mtime;?/*Última hora de modificación* / unsigned.long.st_ctime;?/* La hora en que se cambió por última vez el estado del archivo*/ long?st_blksize; long?st_blocks; unsigned?int?st_attrib;?/*Bytes de atributo de archivo (solo dosFs)?*/

}stat_type;

Versión de Windows: struct?stat?{

_dev_t?st_dev;

_ino_t?st_ino;

unsigned?short?st_mode;

short?st_nlink;

short?st_uid;

short?st_gid;

_dev_t? st_rdev;

_off_t?st_size;

time_t?st_atime;

time_t?st_mtime;

time_t?st_ctime;

hora_t?st_ahora; p>

}