Есть программа, скомпилированная с _D_FILE_OFFSET_BITS=64(этого требует libfuse). В то же время программа линкуется с библиотекой(libzip), которая компилируется без указания этого дефайна и, следовательно, на 32-битной системе имеет _FILE_OFFSET_BITS=32.
При этом мне надо из библиотеки со оффсетом в 32 получать тип данных off_t, который имеет различный размер при разных _FILE_OFFSET_BITS.
Кусок кода:
struct zip_stat stat;
zip_stat_index(zf, i, 0, &stat);
zip_stat_index описан так: int zip_stat_index(struct zip *, int, int, struct zip_stat *);
struct zip_stat {
const char *name; /* name of the file */
int index; /* index within archive */
unsigned int crc; /* crc of file data */
time_t mtime; /* modification time */
off_t size; /* size of file (uncompressed) */
off_t comp_size; /* size of file (compressed) */
unsigned short comp_method; /* compression method used */
unsigned short encryption_method; /* encryption method used */
};
Вопрос: можно ли как-нибудь без грязных хаков получить из библиотеки правильное число, а не 32 бита правильных данных + 32 бита мусора в off_t главной программы?
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от gaa
Ответ на:
комментарий
от Die-Hard
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Что это такое? (2021)
- Форум Segmentation fault core dumped (2022)
- Форум Проблема с чтением wav файла? (2022)
- Форум FUSE Development (2012)
- Форум Копирование фрагмента файла - учебная программа (2015)
- Форум Вывести содержание бинарного файла (2013)
- Форум Не работает прием Multicast сообщения на втором интрфейсе (2023)
- Форум FUSE (2013)
- Форум g++ expects argument (2013)
- Форум nginx поставил но его нету на диске (2009)