Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6323
Последний выпуск: 19.06.2015

Большие файлы в FreeBSD. >2Гб

4
28 июня 2010 года
mike
3.7K / / 01.10.2002
Господа, подскажите пожалуйста, как в FreeBSD (gcc) работать с большими файлами. В линуксе все просто:

 
Код:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
        FILE* fw=fopen64("","r");
        return 0;
        }


Из того что я нашел выходит что FreeBSD по умолчанию работает с 64 битными файловыми структурами, но у меня не получается сделать size_t 64 битным:

 
Код:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
        size_t filesize;
        printf("%d",sizeof(filesize));
        return 0;
        }


 
Код:
g++ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE main.cpp


Говорит 4:(

Потенциально все это под винду придется переделывать, так что и тут вопрос актуален.
14
29 июня 2010 года
Phodopus
3.3K / / 19.06.2008
Так у меня и под Linux говорит 4. Разве в этом проблема? size_t имеет отношение к памяти/разрядности, не к файлам.
4
29 июня 2010 года
mike
3.7K / / 01.10.2002
Цитата: Phodopus
Так у меня и под Linux говорит 4. Разве в этом проблема? size_t имеет отношение к памяти/разрядности, не к файлам.


Спасибо. Моя лажа. Перепутал с off_t:

 
Код:
#include <stdio.h>
#include <sys/types.h>

int main(void) {
        off_t filesize;

        printf("%d",sizeof(filesize));
        return 0;
        }


Теперь 8 !

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог