Аватар для Dimon_bogoduhov
127 / 62 / 2
Регистрация: 15.02.2012
Сообщений: 127

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

15.02.2012, 02:24. Показов 4159. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите пожалуйста, как обратится к оперативной памяти, выделенной под указаный процес.
P.S.: Хочу сделать прогу типо артмани, но никак не могу найти про доступ к оперативной памяти. Буду очень благодарен за помощь.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2012, 02:24
Ответы с готовыми решениями:

Отображение количества оперативной памяти, которое занимает указанный процесс
Как написать программу, которая будет показывать, сколько оперативной памяти занимает указанный процесс? Буду благодарен.)

Распределение оперативной памяти выделенной под программу
Здравствуйте. Помогите с объяснением некоторых тем, нигде не могу найти. №1 Целый тип данных. Даже не знаю, о чем там можно...

Не выгружаеться процесс из оперативной памяти
У меня при стандартной работе не освобождаеться оперативная память, после работы в интернете, текстовых файлах и т.д. оперативка загружает...

26
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,624
Записей в блоге: 2
16.04.2024, 15:13
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от The trick Посмотреть сообщение
Это невозможно в общем случае.
Все я понял, и там похоже ерунду написал. Главное закрыть вопрос )
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
17.04.2024, 18:33
The Trick самый лучший программист в мире
2
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,624
Записей в блоге: 2
20.04.2024, 08:28
Цитата Сообщение от The trick Посмотреть сообщение
Есть InStrB который не конвертирует.
Вот нет, к сожалению, счас проверил, PeakWorkingSet подрастает после использования InStrB
Нашел декларцию от 2004 там все как надо, и уж было обрадовался, но нет не работает
Visual Basic
1
Declare Function vbaInStr Lib "msvbvm60.dll" Alias "__vbaInStr" (ByVal lStart As Long, ByVal lpStringMatch As Long, ByVal lpStringCheck As Long, ByVal lCompare As Long) As Long
Отсюда такая информация, тут что-то в терминах ассемблера, я конечно не понимаю
Rule 1. Functions of rtcXXX have a tendency to take a Variant as a parameter, compared to __vba_XXX
functions which often take registers of ECX and EDX.
Rule 2. Functions of rtcXXX have a tendency to return the result in result_variant, which is passed as a
parameter, while __vba_XXX functions often return the result in EAX, AX, or AL. Some rtcXXX functions also
return the pointer to result_variant in EAX.
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
20.04.2024, 20:00
Цитата Сообщение от testuser2 Посмотреть сообщение
Вот нет, к сожалению, счас проверил, PeakWorkingSet подрастает после использования InStrB
Нашел декларцию от 2004 там все как надо, и уж было обрадовался, но нет не работает
Да ты прав, я постоянно совершаю эту ошибку.

https://www.vbforums.com/showt... ost5563637
https://www.vbforums.com/showt... ost5563889
1
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,624
Записей в блоге: 2
21.04.2024, 15:54
Сделал свою поисковушку для значения типа Double. Там перед началом поиска мапятся 8 массивов на одну область с разным смещением. Поисковой цикл шагает через 8 байт, но внутри еще проходит цикл по всем массивам, т.о. просматриваются все биты. Но увы подход оказался не очень продуктивный, меденновато (250 мб за 7 сек.), поэтому код выкладывать нет особого смысла..
The trick, спасибо за ссылки, есть там много интересного про медленный RtlCompareMemory, и др. Ты даже выкладывал там сурс-код InstrB на С. Я так понял, что если этот код переделать под байт-массивы и скомпилировать в библиотеку, это и будет самый быстрый InStrB для бинарных данных? Как таковой особой потребности нет, просто интересно )
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,624
Записей в блоге: 2
29.04.2024, 11:58
Цитата Сообщение от testuser2 Посмотреть сообщение
Я сделал код который находит указатель на Double занчение в ячейке Эксель.
Я короче сейчас вычислил, как там находить заголовочную таблицу, в которой хранятся указатели на данные в ячейках. Она состоит из 8 байтных структур, в которых 1е 4 байт(x86) - это указатели (либо данные если данные умещаются в 4 байта - маленькие числа) на числ(Double) либо строки (нуль-терминальные юникод), в остальной части хранится тип и еще какое-то число (х.з.). Теперь бы хотелось найти указатель на эту таблицу - в каком-нибудь из объектов, чтобы получать к ней доступ более "цивилизованным" методом. Хотелось бы просто получить список всех объектов для поиска в них нужного указателя (для этого у меня есть специальная функция, довольно простая)
1
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,624
Записей в блоге: 2
30.04.2024, 13:00
Цитата Сообщение от testuser2 Посмотреть сообщение
Кстати, похоже такой возможности нет.
Короче я нашел, как это делать. Думал будет затупно, но довольно шустро работает
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub TestHeapWalk()
    Dim he As PROCESS_HEAP_ENTRY, he2 As PROCESS_HEAP_ENTRY
    Dim hHeap As LongPtr, arr(), i&, Ptr As LongPtr
    
    ReDim arr(10)
    Debug.Print VarPtr(arr(0))
    
    Ptr = VarPtr(arr(5))
    
    With GetAllocInfo(Ptr)
        Debug.Print .lpData
        Debug.Print .cbData
    End With
End Sub
 
Function GetAllocInfo(ByVal Ptr As LongPtr) As PROCESS_HEAP_ENTRY
    Dim hHeap As LongPtr, he As PROCESS_HEAP_ENTRY, he2 As PROCESS_HEAP_ENTRY
    
    hHeap = GetProcessHeap
    HeapLock hHeap
    Do While HeapWalk(hHeap, he)
        If he.wFlags = PROCESS_HEAP_ENTRY_BUSY Then
            If he.lpData > Ptr Then
                GetAllocInfo = he2
                Exit Do
            End If
            he2 = he
        End If
    Loop
    HeapUnlock hHeap
End Function
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2024, 13:00
Помогаю со студенческими работами здесь

Процесс explorer.exe съедает 99% оперативной памяти
Приветствую, подскажите, пожалуйста, в чем может быть дело. По не понятной для меня причине время от времени процесс explorer.exe начинает...

Процесс explorer.exe съедает 99% оперативной памяти
Приветствую, подскажите, пожалуйста, в чем может быть дело. По не понятной для меня причине время от времени процесс explorer.exe начинает...

Процесс explorer.exe съедает 99% оперативной памяти
Приветствую, подскажите, пожалуйста, в чем может быть дело. По не понятной для меня причине время от времени процесс explorer.exe начинает...

Освобождение памяти, выделенной под массив
Выделяю память под массив: int (*array_1) = new int; как освободить то, что выделил? И еще вопрос: как указателю...

Очистка памяти, выделенной под небинарное дерево
Здравствуйте, реализовал небинарное дерево. Проблема с очисткой памяти. По отладчику пробегался, функция clear вроде как удаляет каждый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru