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

Переход с VC6++ на VC2008. Нужен совет

30.06.2012, 17:08. Показов 1024. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть такая ситуация , собирал длл в VC6++ для одной программы, длл экспортируют только функции, перегрузок нет. Программа с которой длл работают, использует соглашение _stdcall . Вопрос с отменой "украшений" имен функций в VC6 решался с помощью def файла.
Есть необходимость перейти на VC2008, но прога перестала видеть имена функций длл скомпилированных в восьмой студии .Никаких ошибок при компиляции нет, использую самые простые примеры типа
C++
1
extern "C" int  __stdcall Add(int a,int b) {return a+b;}
Попытка использвать __declspec(dllexport) приводит к тому что импортирующая функцию Add программа сообщает о неверном числе аргументов, переданных в функцию.
Погуглив тему нашел пару советов по вопросу, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
//mydll.h
#ifndef _MC_DLL_H
#define _MC_DLL_H
 
 
class mydll
{
public:
    
    static int _stdcall mydll::Add(int a,int b);
};
#endif
Результата не дает.
хотел использовать #pragma comment, но dumpbin выдает ошибку:LINK: fatal error LNK1181:не удается открыть входной файл "EXPORTS"

Помогите пожалуйста разобраться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2012, 17:08
Ответы с готовыми решениями:

Переход с ОС Windows 7 на Linux на нетбуке (нужен совет)
Здравствуйте! История такая: достали тормоза Виндовс 7. Чтобы предупредить послед вопросы: 1) Характеристики нетбука: Процессор...

Простой код, VC2008 выдает ошибку
Всем привет. VC показывает ошибку на int str = { 1,2,3,4,5,6,7,8 }; не понимаю почему.. main.c(14) : error C2143: синтаксическая ошибка:...

Не компилируется при вызове функций user32 на VC2008
Недавно установил Visual C++ express 2008.Выдает ошибку при вызове EnumDisplayMonitors.Это вроде стандартная функция из...

2
32 / 30 / 6
Регистрация: 21.06.2012
Сообщений: 91
02.07.2012, 16:33
Может не совсем понял суть проблемы, но, если в dll просто функции, то обычно делаю так

.h файл
C++
1
__declspec(dllexport) char* GetAddInDescription();
.cpp файл
C++
1
2
3
4
__declspec(dllexport) char* GetAddInDescription()
{
...
}
.def файл
C++
1
2
3
...
GetAddInDescription         @4
...
p.s. да, можно конечно тут еще использовать
C++
1
2
#ifndef _MC_DLL_H
#define _MC_DLL_H
1
0 / 0 / 1
Регистрация: 15.05.2012
Сообщений: 5
02.07.2012, 23:36  [ТС]
Сработал вариант:

extern "C" __declspec(dllexport) int __stdcall .... плюс def файл плюс директива #pragma.
правда префикс "_" перед названием убрать не удается, но главное что заработало все.

Странно что в случае

#ifndef _MC_DLL_H
#define _MC_DLL_H

Имя экспортируется без всяких искажений, смотрел в PEexplorer, но импортирующая прога узнавать его не хочет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2012, 23:36
Помогаю со студенческими работами здесь

Непонятно в чем ошибка в VC2008 нет такой переменной или я ...
Непонятно в чем ошибка в VC2008 нет такой переменной или я ...чегота не правильно подключил? В чем причина.:cry:

Нужен совет
Здравствуйте! Буду краток :) Есть маленькая html страничка и формочка на ней: Я плохо разбираюсь в связке html и php - прошу помочь...

Нужен совет :)
Наконец решился заменить свой ноут на стационарник. Оцените сборку пожалуйста, надо ли что то заменить. Использоваться компьютер будет...

Нужен совет
Добрый вечер! Мне нужен Ваш совет У меня ноутбук Краткие характеристики Экран 17,3" (1600х900) / Intel Pentium Dual Core T4300...

Нужен совет
Всем привет. Необходимо сделать сайт с кривыми блоками. Фон заливается картинками. Кто нибудь знает как сделать такую верстку + она должна...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru