Описание тега static-allocation
1
ответ
Оценка объема памяти и использования процессора для библиотеки C
У меня есть статическая библиотека, написанная на C, без динамического выделения памяти. До сих пор библиотека использовалась только в приложении для обычного i386 Linux, где было много процессора и памяти. Теперь мне нужно попытаться создать версию…
10 авг '16 в 11:06
1
ответ
Память C++, выделенная во время компиляции
Я читал, что хотя динамическая память выделяется в куче во время выполнения, статическая память выделяется в стеке во время компиляции, поскольку компилятор знает, сколько памяти должно быть выделено во время компиляции. Рассмотрим следующий код: in…
15 июн '15 в 14:26
1
ответ
Что означает "статически размещенный" именно в libc? Один на экземпляр библиотеки? Один на экземпляр программы?
В (g)libc, например, в функциях времени и даты, таких как местное время, в руководстве говорится: Возвращаемое значение указывает на статически размещенную строку, которая может быть перезаписана последующими вызовами любой из функций даты и времени…
06 мар '17 в 14:30
4
ответа
Возвращение c_str из функции
Это из небольшой библиотеки, которую я нашел в Интернете: const char* GetHandStateBrief(const PostFlopState* state) { static std::ostringstream out; // ... rest of the function ... return out.str().c_str() } В моем коде я делаю это: const char *d = …
17 апр '10 в 04:03
2
ответа
Разница между динамическим распределением статического выделения
Мой вопрос: в каком языке программирования динамическое выделение памяти быстрее, чем статическое? int main(int, char**) { int *pa = new int; // faster than int a; // ? return 0; }
29 авг '14 в 09:32
5
ответов
Можно ли увеличить размер статически размещенного массива?
Я знаю, что возможно увеличить размер динамически размещаемого массива. Но можно ли увеличить размер статически размещенного массива? Если да, то как? РЕДАКТИРОВАТЬ: Хотя этот вопрос предназначен для языка C, рассмотреть другие языки тоже. Это возмо…
05 ноя '09 в 04:33
3
ответа
Где будет выделена память в следующем фрагменте кода?
Если я объявлю std::vector<A *>где будет выделяться память? я знаю new динамически выделяет память, но память для вектора должна выделяться статически. Я хочу знать, что происходит с памятью. typedef std::vector<A *> AArray; void myFunct…
29 июл '13 в 10:26
0
ответов
Статическое распределение и распределение стека в дизайне компилятора
Я не ясно о том, было ли статическое и стек размещения? Является ли статическое распределение статическим и динамическое распределение стека? Тогда к чему относится распределение кучи? Как с этим связана запись активации? Я думал, что запись активац…
18 авг '18 в 07:56
1
ответ
Размер составного литерального массива
Я пытаюсь статически выделить некоторые структуры, каждая из которых содержит два члена: указатель на массив структур и размер этого массива. Вот рабочая версия кода: #define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0])) struct conf_element { char *k…
29 ноя '16 в 16:58
2
ответа
Ошибка сегментации при вызове функции с двумерным массивом
У меня есть следующий код: #define MAXSAMPLES 1024 typedef int sample_t; typedef sample_t sub_band_t[MAXSAMPLES][MAXSAMPLES]; void blah(sample_t a[][MAXSAMPLES], int u0, int v0, int u1, int v1) { . . . . } int main(int argc, char *argv[]) { sub_band…
25 мар '13 в 10:36
2
ответа
Mmap против статического выделения для больших выделений
Я выделяю довольно большой, примерно 100 ГБ, кусок памяти. Точный размер всегда известен во время компиляции. Должен ли я распределять статически? static char data[DATA_SIZE]; Или используя mmap? data = mmap(NULL, DATA_SIZE, PROT_READ|PROT_WRITE, MA…
03 янв '14 в 07:27
2
ответа
Гарантируется ли линейное распределение под-массивов?
Я знаю, что этот ответ нарушает reinterpret_cast правила, но это также предполагает, что под-массивы будут размещены линейно. Я полагал, что это не гарантировано, но, когда я ищу стандарт, я чувствую, что моя уверенность колеблется. Если я статическ…
27 июн '16 в 14:57
8
ответов
C++: Почему статически созданная переменная может быть передана функции, ожидающей ссылку?
Я давно программирую на C++, но, конечно, не буду называть себя экспертом. Этот вопрос не задают, чтобы решить практическую проблему, которая у меня есть, это больше о понимании того, что делает C++. Представьте, что у меня есть функция, которая ожи…
16 апр '11 в 22:17
3
ответа
Указатель на массив Вести счетчик элементов
У меня есть интерфейс, который наследует несколько классов. class someInterface { virtual void someMethod() = 0; } class A : public someInterface { public: void someMethod() { //Do something } } class B : public someInterface { public: void someMeth…
19 ноя '14 в 16:11
2
ответа
Понимание базового примера динамического размещения
У меня есть очень базовый довод в отношении динамического распределения. Изучая дерево в соответствии с возможными синтаксисами, я сказал, что все они являются динамическими распределениями. Первый: int* px(nullptr); px = new int; *px =20; Тогда бол…
20 янв '15 в 15:08
1
ответ
c 2d статическая инициализация массива с сохраненным размером
Аналогично объявлению массива 1D: char arr[]={[0 ... RESERVED_CHARS-1]=' ',[RESERVED_CHARS]='\0'}; Посоветуйте, пожалуйста, как / если возможно объявить такой 2D массив? #define SAY_MAX_MSG_LEN 6 #define REP_MAX_MSG_LEN 8 char *var_msg_out[][3]={\ {…
06 сен '14 в 11:52
3
ответа
Переменные в стеке "статически распределены"?
Я читал эту статью и увидел следующее: "В этой статье предполагается, что вы уже знаете и понимаете, по крайней мере, в основном, как работает карта памяти в системе GNU/Linux, и особенно разница между памятью, статически выделяемой в стеке, и памят…
10 окт '15 в 17:32
1
ответ
Инкрементный указатель на статический выделенный массив
На сколько увеличивается указатель в этих ситуациях и почему? void f(int a[]) { a++; printf("%d", *a); } void g(int a[][M]) { a++; printf("%d", *a[0]); } Допустим, что в main У меня есть статический распределенный массив с n элементами и статическая…
13 май '15 в 20:10
1
ответ
Можно ли создать статически размещенный массив в Swift?
Я хочу создать структуру в Swift, которая имеет небольшое фиксированное количество значений (скажем, 16 с плавающей запятой) в качестве данных экземпляра. Требуется, чтобы эта структура не сохраняла эти значения в куче, чтобы адрес экземпляра структ…
11 июл '16 в 03:58
3
ответа
Почему объекты Objective-C должны быть динамически размещены?
Почему объекты Objective-c должны размещаться динамически? Почему я должен сделать его указателем на объект, в отличие от C++, я могу создавать их в стеке? Благодарю.
30 апр '11 в 19:58