Форум программистов, компьютерный форум, киберфорум
Наши страницы

Подскажите как хранить перемененные в DLL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Если строки одинаковы, объединить две строки, исключив из второй первые десять символов http://www.cyberforum.ru/cpp-beginners/thread1133494.html
Ввести строки. Сравнить первые десять символов двух строк. Если они одинаковы, объединить две строки, исключив из второй первые десять символов. В случае отличия первых десяти символов скопировать...
C++ Вывод значений аргумента и заданной функции F(x) с шагом h Помогите пожалуйста найти ошибку в программе? Вот задание : Вывод значений аргумента и заданной функции F(x) с шагом h, начиная от начального значения a до конечного значения аргумента b в виде... http://www.cyberforum.ru/cpp-beginners/thread1133487.html
C++ В двумерном массиве вывести все элементы выше главной диагонали и ниже побочной
Вообщем то задали такую задачку: В двумерном массиве вывести все элементы выше главной диагонали и ниже побочной. Но у меня получается наоборот:( Ниже главной и выше побочной. #include <iostream>...
Расчет дня недели по дате, исправьте ошибки C++
Программа должна считать день недели по дате, использую по заданию какую то римскую формулу. #include <iostream> #include <Windows.h> #include "StdAfx.h" using namespace std; void main() {...
C++ Как рекурсивно скомпилировать проект через командную строку? http://www.cyberforum.ru/cpp-beginners/thread1133478.html
Как рекурсивно скомпилировать проект через командную строку? Если у меня заголовочные файлы в папке Headers. Но мне нужен универсальный код. Папка Headers это временное название, она может...
C++ В матрице найти наименьший элемент в каждом столбце под побочной диагональю и подсчитать сумму этих элементов Перечитал целую кучу тем на киберфоруме но так и не нашел подходящий способ решить мою задачку. Очень расчитываю на вашу помощь, просто уже не знаю где искать. Вообщем сама проблема: Необходимо в... подробнее

Показать сообщение отдельно
DmitryE
0 / 0 / 0
Регистрация: 29.03.2014
Сообщений: 8
30.03.2014, 03:30  [ТС]
Позвольте еще один вопрос.

Можно будет ли работать такая конструкция в теле функции, т.е.:

C++
1
2
3
4
5
6
7
8
9
DLLAPI int __stdcall TransferVariableToDll(double &VariableM, int &varialbeleght, char &Varialblename)
{
 
#pragma data_seg (“.Variablesegm”)
 
int Variablename[varialbeleght]={VariableM};
 
#pragma data_seg () 
}
Можно ли будет эту переменную теперь получить из памяти вызовом следующей функции:
C++
1
2
3
4
5
DLLAPI int __stdcall TransferVariableFromDLL(char &NameOfVariableToExport, double &ExportVariableData)
{
 
ExportVariableData =  NameOfVariableToExport
}
Добавлено через 15 минут
Спасибо всем за ответы !!!

Правильно ли я понял, что создавать динамически расшаренные переменные в коде dll будет нельзя ?

т.е. таким кодом:

C++
1
2
3
4
5
6
7
8
9
DLLAPI int __stdcall TransferVariableToDll(double &VariableM, int &varialbeleght, char &Varialblename)
{
 
#pragma data_seg (“.Variablesegm”)
 
int Variablename[varialbeleght]={VariableM};
 
#pragma data_seg () 
}
Добавлено через 1 минуту
Это специализированная для win32 техника
Будет ли эта техника работать в Windows x64 ?

Добавлено через 6 минут
Придумать какой-то свой способ адресации. Например, если передаются строки, которые содержат имена, то где-то в dll может быть контейнер, который свяжет эти строки с адресами реальных переменных - только что созданных или уже существующих. Ассоциативные массивы тебе помогут в этом. Реализаций много, в std есть, например, map.
Вопрос - создать реальную переменную в коде dll возможно ? Ведь для шаредмемори я как понял нужно знать еще длинну переменной и ее тип и на момент компиляции ее выяснить нельзя.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru