Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
16 / 16 / 0
Регистрация: 13.11.2009
Сообщений: 69

После компиляции dll в vc++ 2008 имя функции вот такое ?Add@MyMathFuncs@MathFuncs@@SAJJ@Z. Почему?

06.03.2011, 14:11. Показов 1523. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я ожидал имя в dll Add@MyMathFuncs@MathFuncs
Но не такое ?Add@MyMathFuncs@MathFuncs@@SAJJ@Z
Вот код mydll.h и mydll.cpp:

in mydll.h
C++
1
2
3
4
5
6
7
8
9
10
extern "C" namespace MathFuncs 
{
    extern "C" class MyMathFuncs
    {
    public:
        // Returns a + b
    static __declspec(dllexport)  long Add( long a);
        
        };
}
in mydll.cpp
C++
1
2
3
4
extern "C" namespace MathFuncs
{
     long MyMathFuncs::Add( long a)
    {
Добавлено через 7 минут
Я делал и без extern "C". Но все равно то же самое билибирдовое имя.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2011, 14:11
Ответы с готовыми решениями:

VC++ 2008 как изменить свойства компиляции чтобы из exe была сделана dll?
Как сделать dll я знаю. А вот как пример (работающий) который компилиться как exe сделать dll? Кто знает подскажите пожалуйста.

почему в функции add не работает gets_s?
/* Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить К...

После перепрошивки БИОС вот такое сообщение вылазит CMOS Checksum Bad
Всем привет. Несколько раз перепрошивал БИОС и после каждой перепрошивки после перезагрузки появлялось такое вот сообщение (см. скрин). ...

3
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.03.2011, 15:54
Почему так Формат внутреннего имени C++. Декорирование имен не стандартизировано. Каждый делает как хочет. И даже один и тот же в разных версия компиляторов может это делать по разному.
Решение - создать def-файл
LIBRARY "mydll"
EXPORTS
Add
1
16 / 16 / 0
Регистрация: 13.11.2009
Сообщений: 69
06.03.2011, 15:58  [ТС]
А можно по подробнее и понятнее расказать об этом?
Решение - создать def-файл
LIBRARY "mydll" - что это значит LIBRARY "mydll.cpp"? или LIBRARY "mydll.dll"
EXPORTS - где это писать в mydll.cpp или mydll.h?
Add
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.03.2011, 16:00
Файлы определения модуля (DEF)

Проект->Добавить новый элемент далее в окне Visual C++->Код->Файл определения модуля.
Создаем файл mylib.def и в нем пишем
LIBRARY "mylib.dll"
EXPORTS
Add
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2011, 16:00
Помогаю со студенческими работами здесь

Вот такое вот кажется лёгкое задание но не как не могу решить.
задание 223(В,И)Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.

Не вылазит черное окно консольного приложения после компиляции (Microsoft Visual C++ 2008)
Доброго времени суток! Только что поставил Microsoft Visual C++ 2008, код написал, скомпилировало, проект создан, все работает,...

Что такое имя функции?
скажите пожалуйста что такое имя функции? создаю указатель на функцию #include <iostream> void foo(void){

asp - xml - vb dll - html вот такая вот компания и что с ней делать
как из асп создать хмл-файл, передающий информацию в vb-dll, там она анализируется и результат снова в виде html (asp)? я - чайник в...

Большое количество .dll файлов после компиляции в проекте Debug/Release
В общем, после компиляции проекта в папке debug/release появляется большое количество .dll файлов (https://i.**********/1MdQQMj.png и это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru