Я пытаюсь написать DLL, которая будет хранить некоторые значения, переданные ей между вызовами.
В настоящее время у меня есть:
MyDll.h:
namespace MyDllNamespace
{
class MyClass
{
public:
static int getValue(int &a);
};
}
MyDll.cpp:
#include "ALERTDataAnalysisLibrary.h"
#include <stdexcept>
using namespace std;
namespace MyDllNamespace
{
int storedValue=0;
int MyClass::getValue(int &a)
{
a=a+storedValue;
}
}
MyDll.def
LIBRARY MyDllLibrary
EXPORTS
getValue @1
Идея состоит в том, что при первом вызове он возвращает переданное значение, а при втором вызове возвращает сумму переданного значения и ранее переданное значение. (Это немного урезано, окончательная версия будет работать с массивами и с большим количеством значений, но по одному шагу за раз!)
Я думаю, что я хочу сделать, чтобы перестать getValue
быть статичным. Что означало бы создание экземпляра класса в DLL (возможно, когда он загружен) и сохранение данных в нем. Затем разоблачение функции этого класса. Я понятия не имею, если это способ сделать это, я не нашел ничего подобного после долгих поисков.