Я пытаюсь создать общую библиотеку (DLL) в Windows, используя MSVC 6 (ретро!), И у меня возникла особая проблема со ссылками, которую мне нужно решить. Моя общая библиотека должна иметь доступ к некоторому глобальному состоянию, контролируемому загрузкой приложения.
В общем, у меня есть вот что:
application.c:
static int g_private_value;
int use_private_value() {
/* do something with g_private_value */
}
int main (...) {
return shared_library_method ();
}
shared_library.c:
__declspec(dllexport) int __stdcall shared_library_method() {
use_private_value();
}
( Обновлено - я забыл часть __declspec(dllexport) int __stdcall
, но она есть в реальном коде)
Как настроить файл shared_library.dll, чтобы он экспортировал shared_library_method
и импортировал use_private_value
?
Пожалуйста, помните, что A) я вообще программист Unix, и B) что я делаю это без Visual Studio; наша автоматизированная инфраструктура сборки поддерживает MSVC с помощью make-файлов. Если я опущу что-то, что облегчит ответ на вопрос, пожалуйста, прокомментируйте, и я обновлю это как можно скорее.