Описание тега name-decoration

1 ответ

Как узнать определение структуры в DLL?

Мне нужно использовать стороннюю DLL, которая не имеет заголовка, lib или объектного файла, это только одна DLL, я следую за этой статьей "Явное связывание с классами в DLL" в codeguru и могу использовать функцию пользователя, класс C++ из этого DLL…
28 дек '09 в 07:36
2 ответа

Проблема с подключением программы Intel Visual Fortran к функции C++

Я пытаюсь связать очень простую функцию C++ с очень простой программой Intel Visual Fortran. Программа на Фортране выглядит так В файле с именем VFTestBed.f90): program VFTestBed integer pInteger pInteger = 11 call SimpleTest1( pInteger ) end progra…
7 ответов

Не удается получить доступ к переменной в C++ DLL из приложения C

Я застрял на исправление в устаревшем приложении Visual C++ 6. В исходный код C++ DLL я положил extern "C" _declspec(dllexport) char* MyNewVariable = 0; что приводит к тому, что MyNewVariable отображается (приятно недекорированный) в таблице экспорт…
11 сен '08 в 13:15
2 ответа

Использование GetProcAddress, когда имя может быть оформлено

Как правильно использовать GetProcAddress() на 32-битной DLL? На win32 существует три соглашения о вызовах: cdecl, stdcall и fastcall. Если функция в DLL foo они будут украшать имя следующими способами _foo, _foo@N а также @foo@N, Но если автор dll …
0 ответов

Visual C++ 2015 не генерирует ведущие "_"

Я давно создаю dll, но мне немного любопытно, какая проблема возникла в моем новом проекте, первом с VS C++ 2015, Ничего особенного, простой C++ проект, создающий Windows 32/64 Bit dll. Я экспортирую свои функции как "C" следующим образом (без файла…
14 июл '17 в 11:02
2 ответа

GCC экспортирует оформленное имя функции только из dll

У меня есть DLL, он экспортирует функцию... extern "C" int __stdcall MP_GetFactory( gmpi::IMpUnknown** returnInterface ) { } Я компилирую это с помощью компилятора Code::Blocks GCC (V3.4.5). Проблема: в результате dll экспортирует оформленное имя фу…
24 мар '10 в 05:36
5 ответов

Какие проблемы переноса происходят с VC8 (VS2005) на VC9 (VS2008)?

Я унаследовал очень большой и сложный проект (фактически "решение", состоящее из 119 "проектов", большинство из которых являются DLL), который был собран и протестирован под VC8 (VS2005), и у меня есть задача перенести его на VC9 (VS2008). Процесс п…
0 ответов

Проблема со связью с декорированными именами DLL в C++ (32 бит) в Visual Studio

У меня есть библиотека функций DSP в C++, и я хочу динамически ссылаться на них во время выполнения. Я использую метод PDLL.h, чтобы обернуть мои классы (например, FFT) в функции в стиле C и загрузить их на лету в другие приложения C++. Я хочу испол…
18 авг '17 в 08:17
1 ответ

Устранение проблемы несовместимости между компиляторами с динамическими библиотеками C++

..., продолжение этого. Из ответов, которые мне дали на мой ссылочный вопрос, я узнал, что: разные компиляторы используют разные декорации имен, что делает невозможным использование динамической библиотеки C++, созданной с помощью компилятора A, в п…
2 ответа

Скрытие winform и возвращение его из DLL

В моем DDL я определил следующую функцию: extern "C" __declspec(dllexport) void hideme(HWND h) { //ShowWindow(h, SW_HIDE); SendMessage(h, WM_SHOWWINDOW, FALSE, 0); } Как видите, я пробовал несколько вещей, чтобы это работало... Я объявил это в моей …
28 май '11 в 14:29
1 ответ

Название украшения в т

Есть ли в стандартном мандате оформление имени? Насколько я знаю, большинство (все?) Соответствующих реализаций добавляют префикс подчеркивания к имени каждого экспортируемого символа. Это гарантировано C, POSIX или другим стандартом?
22 июн '16 в 14:01
2 ответа

Изменение оформленных имен - миграция с VS6.0 на VS2005

После нескольких часов поиска в Google, я думаю, пришло время спросить экспертов. У нас есть устаревший модуль (MS Visual C++ 6.0), который мы пытаемся перенести на VS 2005. Существует несколько вызывающих приложений, поэтому мы стараемся, если это …
23 янв '09 в 22:52
3 ответа

Почему функция сравнения STL не является членом?

Просто интересно, почему функция сравнения для stl::sort не может быть статическим членом? У меня есть маленький маленький вспомогательный класс foo, который объявлен и определен в заголовке, но теперь мне нужно создать файл foo.cpp для реализации c…
30 июл '09 в 23:54
3 ответа

Как изменить оформление экспортированного имени для __stdcall в VC++?

Вот как я объявил мою функцию экспорта в данный момент: extern "C" __declspec(dllexport) Iexport_class* __stdcall GetExported_Class(); Когда VS2008 скомпилировал источник для этого, созданная dll содержит это в своей таблице экспорта: _GetExported_C…
21 дек '10 в 10:48
4 ответа

Почему я не могу получить доступ к своей функции DLL

Я пытаюсь загрузить DLL динамически, используя LoadLibrary(), который работает, однако я не могу тогда получить адрес функции в DLL, которую я пытаюсь вызвать. Функция DLL: (в файле CPP) _declspec(dllexport) void MyDllFunc() { printf("Hello from DLL…
20 июн '10 в 12:54
2 ответа

Конвертировать 32-битный файл.def в 64-битный

В моей компании мы используем .def файлы для указания символов, которые необходимо экспортировать. (Я бы хотел использовать более современную и автоматизированную технику, к сожалению, ребята, которые решили вернуться в восьмидесятые годы). Написани…
05 янв '11 в 15:16
2 ответа

Каков синтаксис для оформления имени __stdcall?

У меня есть программа, которая вызывает набор функций следующим образом: int _stdcall VB_Create(char*); int _stdcall VB_Open(unsigned int, unsigned int, unsigned int, unsigned int); ... ... Если в оформлении имени есть несоответствие, компоновщик по…
04 авг '11 в 14:33
2 ответа

Как можно обойти предупреждение Visual C++ 2005 "превышено длина украшенного имени, имя было усечено"?

Например, скажем, по какой-то причине у меня был кусок кода, который выглядел так: mutable std::vector<std::vector<std::vector<std::vector< std::vector<MyNamespace::MyType> > > > > myFreakingLongVectorThing; и я получаю…
7 ответов

Ошибка ссылки для функций Windows

Я пытаюсь проверить, есть ли в стандартной библиотеке (kernel32.dll) одна из функций. Фрагмент кода для теста: extern void CreateProcessA (void); int main (void) { CreateProcessA (); return 0; } Код компилируется и ссылки следующим образом: cl /c te…
31 янв '10 в 13:08
7 ответов

Нахождение параметров функции Dll

Как я могу найти параметры недокументированной функции Dll? Я искал по всему интернету и в итоге нашел один способ: он включает в себя украшенные функции. Тем не менее, я не могу найти способ получить их. Любая помощь будет оценена.
15 ноя '08 в 05:15