|
0 / 0 / 0
Регистрация: 29.03.2014
Сообщений: 8
|
|
Подскажите как хранить перемененные в DLL30.03.2014, 02:04. Показов 2060. Ответов 9
Метки нет (Все метки)
Здравствуйте.
Я пишу dll функционал которой в приеме данных из одной программы (в которой будет вызвана соответствующая функция по передаче данных в dll) и передача в другую программу при вызове функции из этой другой программы. Данные в dll необходимо как-то хранить между приемом и передачей и знать наименование хранимой переменной в dll для запроса в функции именно этой переменной, может ли быть таких хранимых переменнных 10 шт (?), прошу подсказать способ ?
0
|
|
| 30.03.2014, 02:04 | |
|
Ответы с готовыми решениями:
9
как хранить данные в dll Как в C# хранить ресурсы в dll? где хранить текст файлы? или как хранить данные? |
|
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
|
|
| 30.03.2014, 02:19 | |
|
Может я что-то не знаю, но... Почему должно быть нельзя?
Добавлено через 43 секунды Создаете в .h файле переменную и записываете туда. В чём проблема?
0
|
|
|
542 / 163 / 79
Регистрация: 23.09.2013
Сообщений: 316
|
|
| 30.03.2014, 02:35 | |
|
Здравствуйте, если Вы планируете сначала запустить программу А, которая динамически линкуется с Вашей dll, и вызовет некоторые методы у неё - установив значения переменных - а потом другая программа Б, так-же динамически линкуясь с Вашей dll вызовет у неё другие методы - пытаясь получить значения переменных - то без дополнительных "внешних" хранилищ такая реализация не осуществима. Хотя-бы по тому, что у двух разных запущенных программ разное адресное пространство - и dll в данном случае просто экспортирует свой функционал в Ваше приложение, но инициализироваться данные будут для каждой программы по-отдельности.
Или же я не совсем верно понял Ваш вопрос?
1
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 30.03.2014, 02:41 | ||
|
Добавлено через 5 минут А Melg абсолютно прав в своей оценке. "Расшаривать" переменные через dll между разными процессами не получится без дополнительных "внешних" хранилищ.
2
|
||
|
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
|
|
| 30.03.2014, 02:41 | |
|
DrOffset, не знал. Надо получить теорию, с библиотеками пока что ни разу не возился
0
|
|
|
0 / 0 / 0
Регистрация: 29.03.2014
Сообщений: 8
|
||||||
| 30.03.2014, 02:48 [ТС] | ||||||
|
Я еще не очень хорошо программирую, попробую описать суть.
Одна программа вызывает функцию DLL с указанием наименования переменнойсоздаваемой в dll для хранения и грузит данные в эту переменную. Вторая программа вызывет функцию dll с указанием наименования переменной которую нужно загрузить из памяти, что-бы забрать из нее данные. Все верно ? p.s. Я читаю в интернете на тему хранения и передачи данных в dll и тут вот такие методы предлагают (Называется вроде как SharedMemory):
0
|
||||||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 30.03.2014, 02:58 | |||
Мы тут создаем сегмент свой и помечаем его как shared (в rws - s - значит shared, r - read, w - write). То есть это один из вариантов shared memory. Короче, работать будет.Добавлено через 5 минут
0
|
|||
|
542 / 163 / 79
Регистрация: 23.09.2013
Сообщений: 316
|
|
| 30.03.2014, 02:59 | |
|
Кажется я нашел эту статью http://www.ishodniki.ru/art/ar... r/224.html
Это специализированная для win32 техника, подробнее описана тут: http://msdn.microsoft.com/ru-r... s.90).aspx Всё, что Вы напишите в коде будет "высечено топором" на этапе компиляции - и в рантайме меняться не будет (так в частности и имена переменных). Для того чтобы можно было из параметров функций взять "название переменной" вам потребуется хранить некоторый контейнер - содержащий в себе строку названия в качестве ключа и значения переменной в в качестве данных.
0
|
|
|
0 / 0 / 0
Регистрация: 29.03.2014
Сообщений: 8
|
||||||||||||||||||
| 30.03.2014, 03:30 [ТС] | ||||||||||||||||||
|
Позвольте еще один вопрос.
Можно будет ли работать такая конструкция в теле функции, т.е.:
Спасибо всем за ответы !!! Правильно ли я понял, что создавать динамически расшаренные переменные в коде dll будет нельзя ? т.е. таким кодом:
Добавлено через 6 минут
0
|
||||||||||||||||||
| 30.03.2014, 12:25 | |||||||
0
|
|||||||
| 30.03.2014, 12:25 | |
|
Помогаю со студенческими работами здесь
10
подскажите как dll переделать в so Подскажите плз как компилировать dll Народ подскажите, чета я забыл DLL как экспортировать Подскажите как вынести пару процедур в DLL (игра Сапер)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|