Всем П. Сейчас пользуюсь builder 6 c++ ,он меня во всем устраивает,во всем кроме одного,а именно в нем невозможно создать массив большого объема.В обще возможность такая там есть,но этот массив будет находиться в ЖД,и по этому скорость работы с ним очень низкая..Мне же нужно создавать массив в оперативке объемом от 100 мегабайт,билдер позволяет максимум мегабайт 25..Как решить данную проблему в билдере и если никак ,то в какой тогда среде такое возможно ?
А при чем здесь IDE? Тупо malloc — и готово. Или что там в C++ вместо malloc юзают? Показать пример, где malloc выделит 16ГБ в оперативе и данными их забьет (на работе 32ГБ, так что спокойно могу и больше ☺)?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
int main(){ char *buf = malloc(_1G); // allocate 1GB for(int i = 0; i < _1G; i += _1M) buf[i] = '9'; printf("Checking...\n"); for(int i = 0; i < _1G; i += _1M) if(buf[i] != '9') printf("error @%d: %c\n", i, buf[i]); printf("Done!\n"); return 0; }
Усе работает, выхлоп:
Код:
gcc 1.c && ./a.out Checking... Done!
Вложения:
Комментарий к файлу: htop соврать не даст! a.png [24.41 KiB]
Скачиваний: 78
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Не понял претензий?Вы сами сказали нужен ли пример,я ответил,зачем было спрашивать тогда показывать пример или нет? Вообще не понял эмоций ваших,вы даете код или какое то нытье мне обязательно нужно выслушать перед этим?Если без нытья не получается общаться,не надо мне писать,я не нянька.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Да просто поражаюсь, до чего нынче народ ленивый пошел: вообще ни в зуб ногой, а уже хочет "программировать"… А архитектуру ОС изучить? А понять, чем куча от стека отличается? И т.д., и т.п. А когда нужно будет IPC, вообще будет "плач Ярославны"?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Не понял зачем вы мне свое нытье изливаете?Вы чем то не довольны-я тут причем?Обратитесь к своему психоаналитику,форум про другие вопросы совсем,не про психологические.
a_skr, выделить мегабайт на стеке? Оригинально, однако…
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
a_skr, точно, гигабайт. Ну и где там new в пером примере? Вижу только попытку выделить на стеке 1ГБ. Ничего не выйдет, однако! И да, я был про стек не прав: действительно, выделит в куче, коль оно глобальное. А вот внутри функции не проканало бы. Вот так не сработает:
Код:
#include <stdio.h>
#define _G (1024*1024*1024)
int main(){ char x[_G]; for(int i = 0; i < _G; ++i) x[i] = 12; for(int i = 0; i < _G; ++i){ if(x[i] != 12) printf("oops @%d\n", i); } return 0; }
И уж тем более — переменный размер (хоть gcc это и позволяет, но массивы переменного размера тоже выделяются на стеке!). Вот:
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения