Есть программа, скомпилированная с _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
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Segmentation fault core dumped (2022)
- Форум FUSE Development (2012)
- Форум g++ expects argument (2013)
- Форум Линковка библиотек (2006)
- Форум Линковка библиотек (2004)
- Форум Линковка библиотеки (2007)
- Форум _FILE_OFFSET_BITS вкуда? (2022)
- Форум Линковка статических библиотек (2017)
- Форум Линковка статической библиотеки (2016)
- Форум Порядок линковки библиотек (2012)