0 / 0 / 1
Регистрация: 28.09.2008
Сообщений: 298
|
|
1 | |
Куча(heap), стек & .NET16.12.2010, 20:55. Показов 2294. Ответов 8
Метки нет (Все метки)
скажите а разве в дотНет можно выделять память как это делалось в C++ через malloc например?
и вообще есть ли в дотНет понятия: куча и стек(в частности возможность работы со стеком) а то почему то думал, что в управляемом приложении такие вещи начисто отсутствуют....ошибался ли я?
0
|
16.12.2010, 20:55 | |
Ответы с готовыми решениями:
8
Стек и куча Классы, структуры, куча, стек Статика и динамика, стек и куча - что это query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? |
0 / 0 / 1
Регистрация: 28.09.2008
Сообщений: 298
|
|
16.12.2010, 21:03 [ТС] | 2 |
под стеком имелся ввиду не стек из System.Collections
а стек который используется на низком уровне в асме например
0
|
1 / 1 / 5
Регистрация: 29.11.2008
Сообщений: 179
|
|
17.12.2010, 01:36 | 3 |
В C# можно так делать в блоке Unmanaged кода. И код перестает быть управляемым... ;(
Куча и стек понятия есть. В куче содержатся ссылочные (reference) объекты, а в стеке - структурные (value). Напрямую работать со стеком должно быть можно unmanaged кодом.
0
|
Messir
|
|
17.12.2010, 02:57 | 4 |
Угу, юзаешь объект Marshal из System.Runtime.InteropServices - там есть требуемые операции... )
|
0 / 0 / 1
Регистрация: 28.09.2008
Сообщений: 298
|
|
18.12.2010, 09:49 [ТС] | 5 |
как выделяется блок unmanaged code?
что-то типа unmanaged{}? и вообще разве есть такая непреодолимая и незаменимая потребность его использования? разве средств управляемого кода недостаточно ?
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
19.12.2010, 10:55 | 6 |
maxx.net немного ошибся.
Смешивать управляемый и неуправляемый код в C# нельзя - можно только в C++ with managed extensions. В С# можно использовать так называемый небезопасный (unsafe) код. Он позволяет использовать указатели. Смысл этого в написании кода критичного к скорости выполнения. В документации к .NET Framework все это подробно описано и приведены примеры.
0
|
0 / 0 / 1
Регистрация: 28.09.2008
Сообщений: 298
|
|
19.12.2010, 11:19 [ТС] | 7 |
>maxx.net немного ошибся.
>Смешивать управляемый и неуправляемый код в C# нельзя - можно только >в C++ with managed extensions. >В С# можно использовать так называемый небезопасный (unsafe) код. >Он позволяет использовать указатели. Смысл этого в написании кода >критичного к скорости выполнения. В документации к .NET Framework >все это подробно описано и приведены примеры. значит если я правильно понял, работа с кучей и со стеком в C# невозможна, а возможна только из C++ with managed extentions.правильно я понял? или иелось ввиду что невозможно только смешивать unmanaged & managed codes в c#, а работа с кучей и стеком возможна?
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
19.12.2010, 12:20 | 8 |
Я говорил только про небезопасный код и про смешивание управляемого и неуправляемого кода.
Куча и стек в .NET никуда не пропали. Стек это основа процессоров архитектуры x86. Без него никак не обойтись. В CLR все типы делятся на ссылочные и интегральные. Ссылочные типы объявляются с помошью class и размещаются в управляемой куче. За выделение памяти отвечает оператор new. Интегральные типы это типы объяевленные с помощью struct, а также некоторые элементарные типы (int, например). Эти типы размещаются в стеке, за исключением случая когда они являются частью ссылочного типа. Может подробнее объясните что нужно сделать?
0
|
0 / 0 / 1
Регистрация: 28.09.2008
Сообщений: 298
|
|
19.12.2010, 12:38 [ТС] | 9 |
Спасибо bazile. Все понятно.
0
|
19.12.2010, 12:38 | |
19.12.2010, 12:38 | |
Помогаю со студенческими работами здесь
9
Структуры данных. Двуродительская куча (Beap, Bi-parental heap) Стек и куча Стек и куча стек и куча Стек и куча on - line Что такое куча,стек,очередь? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |