У моего приложения есть 2 DLL, одна из которых объявляет буфер в своем заголовочном файле
#pragma once
#ifdef STUBS_EXPORTS
#define STUBS_API __declspec(dllexport)
#pragma message("1")
#else
#define STUBS_API __declspec(dllimport)
#pragma message("2")
#endif
unsigned char SendBuffer[255];
Нет, мне нужно только иметь 1 SendBuffer, совместно используемый двумя библиотеками DLL и, в конечном счете, исполняемым файлом.
Как этого добиться? Я перечитал данные, используя data_seg и dllimort, но, похоже, ничего не получилось
Я пытался использовать импорт и экспорт, как показано выше, но это приводит к сообщению об ошибке
error C2491: 'E0SendStartMarker': definition of dllimport data not allowed
У меня естьтакже пытался использовать data_seg
#pragma data_seg("SHARED")
unsigned char E0SendBuffer[255];
unsigned char E0SendStartMarker = 0;
unsigned char E0SendEndMarker = 0;
#pragma data_seg()
#pragma comment(linker, "/section:SHARED,RWS")
Но это тоже не сработало
Каков рекомендуемый способ?