1
голосов
5ответов
323 просмотров

Наличие множества стеков разных типов

Я делаю программу на языке C, в которой нужно использовать два стека.Один должен содержать символы, другой - двойники.У меня есть две структуры, узел и стек: struct node { double value; struct node *next; struct node *prev; }; struct stack { struct node *last; struct node...

1
голосов
1ответов
112 просмотров

Есть ли у языков на основе стека понятие области видимости?

Есть ли у языков на основе стека понятие области действия?Мне кажется, что если параметры функции помещаются в стек до выполнения функции, это происходит неортодоксальным образом. Или я мог бы попытаться навязать абстракцию, которая не совсем подходит.

4
голосов
4ответов
277 просмотров

Почему компилятор не может определить длину строки для массива строк?

Примечание. На этот вопрос повлиял этот ответ . Допустимый код C: char myString[] = "This is my string"; Это выделит строку длиной 18 (включая символ char myStrings[][] = {"My 1st string", "My 2nd string", "My 3rd string"}; ) в стеке и присвоит ей указанное значение. Однако следу...

16
голосов
8ответов
11401 просмотров

насколько плохо использовать динамические структуры данных во встроенной системе?

Итак, в модуле встраиваемых систем, который я возьму в uni в следующем году, мы узнаем, что динамические структуры данных - плохая вещь во встроенной системной программе. но в лекциях не объясняется, почему. Сейчас я работаю над умеренным масштабом, встроенным контроллером LURC системы, в осн...

2
голосов
4ответов
787 просмотров

Из интервью: в чем преимущество стека в C?

Во время интервью меня спросили о структуре памяти кучи и стека.Парень спросил меня, в чем преимущество стека?Я не был уверен, что он имел в виду.Какие еще есть способы настроить адресное пространство для выполнения программы на языке C?

1
голосов
3ответов
376 просмотров

На каком стеке технологий построен Second Life?

Например, они используют Java / Struts?Или ASP.NET?Или PHP?Или какое-то сочетание технологий? Не уверен, насколько они открыты для своей инфраструктуры, но было бы очень интересно узнать, что они используют.

0
голосов
6ответов
2931 просмотров

Реализуйте массив стеков в C

Реализуйте массив стеков, в котором они определены: typedef struct StackNode { int data; StackNode* next; } StackNode; Каждый элемент массива указывает на стек, каждый стек инициализируется как пустой стек. Когда вы начнете добавлять элементы, он начнет добавлять их в стек в Stac...

1
голосов
1ответов
1635 просмотров

Пролог анализирует постфиксные математические выражения

Я решил это сам. Я опубликую решение, когда просрочены сроки выполнения моей домашней работы. Хорошо, я собираюсь создать синтаксический анализатор или оценщик. Стандарт де-факто при синтаксическом анализе с префиксной нотацией - просто использовать стек. Добавить в стек, если введено число, ...

3
голосов
1ответов
349 просмотров

Странности памяти устройства / симулятора iPhone с использованием Objective-C ++

Я портирую проект на iPhone (с Windows Mobile) и по возможности использую большую часть общего кода C и C ++, используя Objective-C ++. Однако во время тестирования я наткнулся на любопытную и неприятную проблему, которая проявляется только при работе на устройстве. Я перенес код проблемы в новы...

3
голосов
5ответов
450 просмотров

Основы стековой памяти

Рассмотрим этот код: char* foo(int myNum) { char* StrArray[5] = {"TEST","ABC","XYZ","AA","BB"}; return StrArray[4]; } Когда я возвращаю StrArray[4] вызывающему, должно ли это работать? Поскольку массив определен в стеке, когда вызывающий объект получает указатель, эта часть пам...

0
голосов
4ответов
960 просмотров

отрицательное число в стеке

Я новый студент в мире компиляторов ^ _ ^ и хочу знать, разрешено ли представлять отрицательное число в стеке. Например: инфикс: 1-5 = -4 постфикс: 15- Утверждения: push(1) push(5) x=pop() y=pop() t=sub(y,x) push(t) Окончательный результат в стеке будет (-4) Как я могу предста...

9
голосов
6ответов
3378 просмотров

Есть ли способ определить доступное пространство стека во время выполнения?

Я знаю, что размер стека фиксированный.Таким образом, мы не можем хранить большие объекты в стеке и переходим к динамическому распределению (например, malloc).Кроме того, стек используется, когда есть вложение вызовов функций, поэтому мы также избегаем рекурсивных функций по этой причине.Есть ли...

18
голосов
6ответов
35386 просмотров

Как я могу определить обратный адрес в стеке?

Я знаю, что если я нахожусь внутри некоторой функции foo(), которая вызывается где-то из функции bar(), то этот адрес возврата помещается в стек. #include <stdio.h> void foo() { unsigned int x; printf("inside foo %x\n", &x); } int main() ...

7
голосов
4ответов
4320 просмотров

Обработка исключений в C - Какая польза от setjmp (), возвращающего 0?

У меня есть несколько вопросов по использованию setjmp / longjmp - Какая польза от setjmp (jmp ___ buf stackVariables), возвращающего 0. Это значение по умолчанию, на которое мы не можем повлиять. Единственное значение setjmp (stackVariables) - протолкнуть стек в stackVariables.И в основ...

0
голосов
1ответов
204 просмотров

Стопка фотографий AS 3 - застрял на чем-то простом

Я нашел руководство по созданию стопки фотографий во Flash с помощью AS3 ( http://designreviver.com/tutorials/create-an-interactive-stack-of-photos/ ). Я пытался создать динамическую XML-версию стека фотографий, и у меня возникла проблема (очевидно :) У меня есть класс Polaroid, и я исполь...

0
голосов
3ответов
823 просмотров

Выравнивание класса с классом, от которого он наследуется?Принудительно выровнять весь стек?Изменить размер?

Я хочу иметь базовый класс, который определяет выравнивание наследуемых от него объектов. Это отлично работает для кучи, потому что я могу контролировать, как она распределяется и как ее массивы выделяются в настраиваемом шаблоне массива. Однако фактический размер класса для C ++ не меняется воо...

12
голосов
5ответов
3052 просмотров

Когда выделяется пространство стека для локальных переменных?

У меня вопрос по следующему коду C: void my_function() { int i1; int j1; // Do something... if (check_something()) { int i2; int j2; // Do something else... } // Do some more stuff... } Есть ли какие-либо гарантии относительно того, ...

87
голосов
14ответов
70012 просмотров

Стек растет вверх или вниз?

У меня есть этот фрагмент кода в c: int q = 10; int s = 5; int a[3]; printf("Address of a: %d\n", (int)a); printf("Address of a[1]: %d\n", (int)&a[1]); printf("Address of a[2]: %d\n", (int)&a[2]); printf("Address of q: %d\n", (int)&q); printf("Address of s: %d\n", (int)&...

0
голосов
2ответов
1004 просмотров

"Вниз по стеку"

Если я пытаюсь найти ошибку, которая вызывается ниже в стеке вызовов, она будет "внизу" по стеку, верно?

115
голосов
8ответов
61653 просмотров

У потоков есть четкая куча?

Насколько мне известно, каждый поток получает отдельный стек, когда поток создается операционной системой.Интересно, есть ли у каждого потока отдельная куча?

4
голосов
6ответов
2351 просмотров

Увеличивается ли размер стека во время выполнения?

Интересно, может ли размер стека увеличиваться, как куча, во время выполнения?

0
голосов
6ответов
6270 просмотров

Как рассчитать объем памяти программы?

Допустим, у меня есть программа на c, в которой я использую только переменные стека, без динамических переменных (malloc, ...) Можно ли подсчитать, сколько памяти займет моя программа во время выполнения?

1
голосов
6ответов
369 просмотров

C - указатель на int для получения элементов в стеке

Я хотел написать стандартный стек на C, но не уверен, может ли моя функция stk_size () работать на других платформах, кроме моего 32-битного компьютера.Я читал, что указывать указатель на int нехорошо. Но что может быть лучше?Я не хочу добавлять переменную "размер", потому что она мне кажется ли...

0
голосов
3ответов
1830 просмотров

Как мне писать в стек другого потока в C / C ++?

Я знаю, что это плохая идея! Конечно, для безопасного программирования стек для данного потока должен считаться частным для этого потока. Но POSIX по крайней мере гарантирует, что вся память потока является общей и доступной для записи другим потокам, что означает, что стек одного потока может (...

1
голосов
7ответов
674 просмотров

Как вещи хранятся в стеке?

Итак, я изучал ассемблер и подошел к теме стека, хранения локальных, статических и глобальных переменных и прочего. Но мне трудно представить это в своей голове. Нижняя часть памяти, но верх стека: S whaa ?? Меня смутило то, что каждый раз, когда что-то помещается в стек, указатель стек...

3
голосов
3ответов
2168 просмотров

Проверка целостности кучи и размера стека в C #

Я пытаюсь отследить сбой, который происходит, когда я загружаю свой код C # и запускаю его в условиях нехватки памяти. Однако в некоторых случаях вместо получения OutOfMemoryException моя программа просто аварийно завершает работу и завершается. Обычно это вызвано повреждением памяти из-за переп...

62
голосов
2ответов
68090 просмотров

Когда и как использовать функцию защиты стека GCC?

Я включил предупреждение -Wstack-protector при компиляции проекта, над которым я работаю (коммерческий многоплатформенный игровой движок C ++, компилируемый в Mac OS X 10.6 с GCC 4.2). Этот флаг предупреждает о функциях, которые не будут защищены от разбиения стека, даже если -fstack-protector в...

0
голосов
2ответов
3515 просмотров

Неглубокая копия коллекции на Java

Для этого метода мне нужно сделать неглубокую копию стека связанного списка. Итак, сначала я инициализирую связанный стек, а затем использую цикл for для просмотра значений для копирования стека.Но, чтобы расположить их в правильном порядке, мог бы я просто использовать вложенный цикл для измене...

1
голосов
2ответов
91 просмотров

Как иметь вектор по значению и использовать вместе вектор указателей?

У меня есть несколько векторов объектов класса A: std::vector<A> *V1; std::vector<A> *V2; и т. д. есть функция с вектором указателей A: std::vector<A *> *arranged; что мне нужно сделать, так это поместить векторы из V1, V2 и т. д. внутрь упорядоченными, не у...

4
голосов
5ответов
2152 просмотров

Рекурсия - Python, вопрос о возвращаемом значении

Я понимаю, что это может показаться глупым вопросом, но в последний раз я программировал его на ассемблере, так что мои мысли могут быть неверными: Рекурсивная функция: def fac(n): if n == 0: return 1 else: return n * fac(n - 1) Почему, когда функция достигает n...