|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
Зачем некоторые программисты используют GlobalAlloc? По мне так это глупость полнейшая31.07.2023, 13:41. Показов 1686. Ответов 25
Метки нет (Все метки)
Зачем некоторые программисты используют GlobalAlloc??? По мне так это глупость полнейшая, неужели нельзя обойтись без GlobalAlloc для программиста на VB можно же и не выделять память вообще для своей программы, можно пользоваться например байтовыми массивами простыми если надо. Я не понимаю зачем GlobalAlloc, GlobalLock, GlobalUnlock, GlobalFree. Может кто-нибудь мне объяснит зачем так мудрить...
0
|
|
| 31.07.2023, 13:41 | |
|
Ответы с готовыми решениями:
25
Зачем это используют Почему программисты используют классы, удобно ли это, плюсы и минусы классов сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? |
|
Супер-модератор
|
|
| 31.07.2023, 22:08 | |
|
Скажу осторожно: в современных версиях Windows статус участка выделенной памяти может быть разный (в частности, возможно, что участок памяти не будет позволять разместить исполняемый код - это про байтовые массивы). А GlobalAlloc выделяет память, в которой можно поместить исполняемый код.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||
| 31.07.2023, 23:15 [ТС] | |||||||||||
|
Catstail, интересная гипотеза, но я своими глазами видел как исполняемый код засовывали в байтовый массив
Добавлено через 22 минуты Вот пример функция сортировки массива qsort здесь в этом примере исполняемый код функции как раз лежит в байтовом массиве: Модуль:
1
|
|||||||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 31.07.2023, 23:17 [ТС] | |
|
У меня код немного неправильный, брал от туда: Работа с DLL в Visual Basic (статья)
Но суть в том что как видно в байтовом массиве лежит исполняемый код
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 11:18 [ТС] | |
|
На мою тему так никто особо толком и не ответил. Зато вот сейчас я понял. Что выделять память через API быстрее, чем через ReDim у массива.
Добавлено через 2 минуты The Trick говорит, что выделяя память через ReDim Preserve всё сначала забивается пустыми нулями, а на это уходит много времени.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 15:00 [ТС] | |
|
The trick, извини, чуть ошибся
Ну получается что использовать API для выделения памяти имеет смысл только чтобы сэкономить чуть-чуть времени на выделение памяти? А так в большинстве случае и простой байтовый массив сойдёт. Так ведь?
0
|
|
|
Модератор
|
|
| 24.09.2023, 15:07 | |
|
HackerVlad, все эти микрооптимизации можно использовать лишь бы был в этом смысл. Если тебе просто какие-то данные нужно обработать некритично по времени - тогда и простой массив пойдет.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 15:11 [ТС] | |
|
The trick, а можно с тобой проконсультировать по поводу кода который я нашёл? Там используется GlobalAlloc я вот думаю нужен ли он там вообще!?
0
|
|
|
Модератор
|
||
| 24.09.2023, 15:20 | ||
|
1
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 24.09.2023, 15:22 [ТС] | ||||||
|
The trick, в общем я использую код, который где-то нашёл в Интернете, для загрузки картинок из байтового массива:
Добавлено через 1 минуту The trick, тут как раз CreateStreamOnHGlobal
0
|
||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 15:23 [ТС] | |
|
The trick, на твой взгляд этот код оптимален значит? и ничего менять не надо?
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 24.09.2023, 15:31 [ТС] | ||
|
0
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 17:42 [ТС] | |
|
The trick, надо будет тогда значит написать функцию более оптимальную для загрузки картинок из байтового массива. Мне это нужно ни только для PNG. Но и для загрузки юникодных имён файлов. Сначала загружаю я файл в байтовый массив потом загружаю картинку.
Добавлено через 1 час 58 минут The trick, слушай, а этот код загрузки картинки из байтового массива получается не грузит PNG? Можешь, пожалуйста, поделиться готовым кодом для загрузки картинки из байтового массива чтобы грузило и PNG тоже?
0
|
|
|
Модератор
|
|
| 24.09.2023, 18:30 | |
|
1
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.09.2023, 18:37 [ТС] | |
|
The trick, я наверное таким образом не смогу применить твой DrawFit. Так как там функция возвращает As StdPicture у тебя, а мне надо iPicture Disp вроде как
0
|
|
| 24.09.2023, 18:37 | |
|
Помогаю со студенческими работами здесь
20
Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? Зачем мне принтер, если он ест краску, я же могу и так с компьютера рисовать? QueryTable копирует веб страницу не так, как мне нужно, то есть некоторые ссылки не копируются Почему программисты часто используют шестнадцатеричную систему счисления?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|