Форум программистов, компьютерный форум CyberForum.ru

PinvokeLib.dll - C++

Восстановить пароль Регистрация
 
phantom96
MЫW
 Аватар для phantom96
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 02:27     PinvokeLib.dll #1
Уважаемые форумчане, не могли бы вы выложить эту чудесную либу?(
Или хотя-бы скомпилировать... http://msdn.microsoft.com/ru-ru/libr...v=vs.100).aspx
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 02:27     PinvokeLib.dll
Посмотрите здесь:

DLL C++
C++ DLL на C++
dLL C++
C++ dll?
Проблемы с dll C++
C++ Ошибка в DLL
DLL C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ssXXss
264 / 186 / 10
Регистрация: 15.01.2011
Сообщений: 668
13.04.2013, 02:53     PinvokeLib.dll #2
а сам чего не соберешь ее copy/paste -> build ?
phantom96
MЫW
 Аватар для phantom96
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 03:08  [ТС]     PinvokeLib.dll #3
Руки не оттуда растут. Не компилится она у меня.
А вообще мне даже её не обязательно.
Вот есть у меня код:
C++
1
2
3
4
DLT_API int fndlt()
{
    return 42;
}
C++
1
DLT_API int fndlt();
И
C#
1
2
        [DllImport("dlt.dll")]
        public static extern int fndlt();
При выполнении fndlt пишет что ненаходит точку входа в процедуру. Когда делал callback копипастой с msdn'а он ругался на то что я неправильно параметры команды задаю.

Добавлено через 2 минуты
Хоть кто нибудь, объясните пожалуйста где я косячу то... Надо список модулей в процессе вытащить, а C# нехочет. Решил на C++ маленькую дллку сделать, как теперь информацию передать без этого незнаю.
ssXXss
264 / 186 / 10
Регистрация: 15.01.2011
Сообщений: 668
13.04.2013, 03:23     PinvokeLib.dll #4
попробуй для начала из стандартных dll дергать функции как например :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using namespace System::Runtime::InteropServices;
 
typedef void* HWND;
[DllImport("user32", CharSet=CharSet::Auto)]
extern "C" IntPtr MessageBox(HWND hWnd,
                          String* pText,
                          String* pCaption,
                          unsigned int uType);
void main(void) {
     String* pText = L"Hello World!";
     String* pCaption = L"Platform Invoke Sample";
     MessageBox(0, pText, pCaption, 0);
}
ну а после собери dll из шаблона , не забыв установить галочку на против экспорт символов .
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
13.04.2013, 03:25     PinvokeLib.dll #5
возможен тривиальный вариант

вы вообще добавляли dll к проекту? (в vs там что-то типа проект>добавить существующий)
phantom96
MЫW
 Аватар для phantom96
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 03:32  [ТС]     PinvokeLib.dll #6
Ненадо её добавлять, её подгружать надо...
Объявил так
C++
1
extern "C" __declspec(dllexport) int fndlt();;
Всё заработало. Пойду теперь копать в сторону экспорта моих модулей...

Добавлено через 2 минуты
C++
1
extern "C" DLT_API int fndlt();;
Так тоже пашет

Добавлено через 16 секунд
А вот без "C" почему-то нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 03:40     PinvokeLib.dll
Еще ссылки по теме:

C++ dll и h
C++ dll
C++ Dll C++ В С#
C++ Использование dll в c++
Dll C++

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

Или воспользуйтесь поиском по форуму:
ssXXss
264 / 186 / 10
Регистрация: 15.01.2011
Сообщений: 668
13.04.2013, 03:40     PinvokeLib.dll #7
http://habrahabr.ru/post/150327/ перевод статьи про - " extern "C" "
Yandex
Объявления
13.04.2013, 03:40     PinvokeLib.dll
Ответ Создать тему
Опции темы

Текущее время: 18:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru