Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вызов __stdcall из-под __clrcall возможен?

35K
28 января 2010 года
herr Daniel
18 / / 29.08.2008
Доброго времени суток.

Столкнулся с такой неприятностью.
Пишу проект в __clrcall и требуется мне использовать dll написанную в __stdcall.

Понятное дело, получаю ошибку error LNK2028 и error LNK2029.

Если же я в функцию объявлю __stdcall, то получаю ошибку error C4439.

Понятное дело, что ошибка в ДНК программиста или в прослойке между креслом и ПК.

Подскажите, пожалуйста, есть выход из ситуации или надо проект переписывать в __stdcall?

Заранее спасибо.

Пишу проект в VS 2008 на с++
5
28 января 2010 года
hardcase
4.5K / / 09.08.2005
Тип проекта какой?
35K
28 января 2010 года
herr Daniel
18 / / 29.08.2008
консольное приложение clr
5
28 января 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: herr Daniel
консольное приложение clr


Внимательно изучите ссылку.

35K
28 января 2010 года
herr Daniel
18 / / 29.08.2008
Цитата: hardcase
Внимательно изучите ссылку.



hardcase, спасибо за ссылку, но я ее уже изучил.
но хотелось бы обойтись без отключения warning

Я тут нашел статью использование неявного PInvoke. Можно ли этим воспользоваться?

341
29 января 2010 года
Der Meister
874 / / 21.12.2007
Цитата: herr Daniel
Я тут нашел статью использование неявного PInvoke. Можно ли этим воспользоваться?

Вот как раз неявный PInvoke у вас и не срабатывает, поскольку сборка, видимо, чистая (/clr:pure). Поможет обычный PInvoke через DllImportAttribute, либо смена типа проекта на смешанный (/clr).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог