Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / dll для Buildedr / 22 сообщений из 22, страница 1 из 1
01.04.2017, 11:22
    #39431257
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Не могу найти на этом форуме, может, подскажете.
есть утилита implib, и есть еще 1 утилита для создания .h файлов.
что за утилита?
...
Рейтинг: 0 / 0
01.04.2017, 21:53
    #39431412
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Mizer73,


если еще не изменяет мне память, то эта утилита предназначена для создания так называемой библиотеки импорта (*.lib) из динамический библиотеки и возможно еще из. definitely файла.

Это возможно сделать не всегда, но иногда это делается.
...
Рейтинг: 0 / 0
01.04.2017, 22:38
    #39431420
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Mizer73для создания .h файлов
Никогда о такой не слышал

И как-то сомневаюсь, что при стандартном stdcall такое возможно
...
Рейтинг: 0 / 0
02.04.2017, 19:17
    #39431650
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid Kudryavtsev,

такое возможно иногда, когда в таблице экспорта сохраняют комментарии к точкам входа в виде строк, и их можно разделить.
...
Рейтинг: 0 / 0
02.04.2017, 22:31
    #39431712
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid KudryavtsevMizer73для создания .h файлов
Никогда о такой не слышал

И как-то сомневаюсь, что при стандартном stdcall такое возможно

именно точно есть, видел на форумах, пользовался.
...
Рейтинг: 0 / 0
02.04.2017, 22:59
    #39431721
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid KudryavtsevMizer73для создания .h файлов
Никогда о такой не слышал

И как-то сомневаюсь, что при стандартном stdcall такое возможно
Технически вполне можно распарсить обратно С++ манглинг и понять, что за параметры. Но тоже не встречал.

Может, продвинутые дизассемблеры умеют генерить хидер (парсить точно умеют).
...
Рейтинг: 0 / 0
02.04.2017, 23:37
    #39431725
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Siemarglобратно С++ манглинг и понять, что за параметры

1. Обычно DLL делают максимально стандартными. Т.ч. "C++ маглинг" в DLL это скорее исключение и говно-кодинг. IMHO & AFAIK

т.ч. хардкорный extern "C" { __stdcall

и фиг что там обнаружишь. IMHO & AFAIK

2. Если даже информацию о параметрах и вытащить, то что делать со структурами? Огромное кол-во Api ф-ций принимают на вход указатель на структуры.

В общем, звучит как фантастика. IMHO & AFAIK
...
Рейтинг: 0 / 0
08.05.2017, 16:19
    #39450111
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
...
Рейтинг: 0 / 0
08.05.2017, 21:09
    #39450193
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Siemargl,

чем может помочь файл .DEF
...
Рейтинг: 0 / 0
08.05.2017, 21:21
    #39450196
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
[quot Mizer73]Siemargl,

чем может помочь файл .DEF [/quot

его можно распечатать на принтере и повесить на стенку. Хорошее средство, что бы закрыть какую ни будь дырку или пятно на обоях.
...
Рейтинг: 0 / 0
10.05.2017, 10:41
    #39450617
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid Kudryavtsev,
ну по .def файлу можно и библиотеку импорта сделать...
...
Рейтинг: 0 / 0
07.06.2017, 22:42
    #39468217
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
что делаю не так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
String Worda = "plcommpro.dll";
	wchar_t* plcommpro = Worda.w_str();
	hDLL = LoadLibrary(plcommpro);
	if (!hDLL) {
	  ShowMessage("Невозможно загрузить plcommpro.dll");
	  return;
	}
	typedef void __cdecl (*Connectos)(char *param);
	Connectos Connecto = (Connectos)GetProcAddress(hDLL, "Connect");
	const char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
	int h = Connecto(Parameters);



на строку int h = Connecto(Parameters);
ругается [bcc32 Error] Unit3.cpp(46): E2034 Cannot convert 'const char *' to 'char *'

не могу их соединить
...
Рейтинг: 0 / 0
07.06.2017, 23:15
    #39468223
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Mizer73на строку int h = Connecto(Parameters);
ругается [bcc32 Error] Unit3.cpp(46): E2034 Cannot convert 'const char *' to 'char *'

не могу их соединить
Одно из двух:
Код: plaintext
1.
2.
	typedef void __cdecl (*Connectos)(const char *param);
	char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";
...
Рейтинг: 0 / 0
08.06.2017, 00:05
    #39468233
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Второе приличный компилятор не позволит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.06.2017, 08:52
    #39468303
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
White OwlMizer73на строку int h = Connecto(Parameters);
ругается [bcc32 Error] Unit3.cpp(46): E2034 Cannot convert 'const char *' to 'char *'

не могу их соединить
Одно из двух:
Код: plaintext
1.
2.
	typedef void __cdecl (*Connectos)(const char *param);
	char *Parameters = "protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=";



да пробовал уже

[bcc32 Error] Unit3.cpp(47): E2468 Value of type void is not allowed
...
Рейтинг: 0 / 0
08.06.2017, 08:58
    #39468307
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
метод научного тыка пальцами в клавиатуру продолжается....

Если, внезапно, оно заработает. Можно смело отправлять в книгу рекордов, как самые сильно вымученные 4-и строчки за всю историю программирования.
...
Рейтинг: 0 / 0
08.06.2017, 09:35
    #39468320
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid Kudryavtsev,

если знаешь, то говори, а так, трындеть от скуки, не надо. это очков не добавляет.
...
Рейтинг: 0 / 0
08.06.2017, 09:37
    #39468323
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Leonid Kudryavtsev,

кстати, то что сделано, то сделано не поучениями с форума. с форума идут подобные потуги. а за 2 месяца так никто и не может сказать по теме ничего путного.
...
Рейтинг: 0 / 0
08.06.2017, 09:50
    #39468336
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
я уже говорил: подумайте над значением слова void (9 мая 17) и переведите сообщение об ошибке. Купите и прочитайте книжку по C.

если за месяц это не получилось, то я даже не знаю, чем еще можно помочь.
...
Рейтинг: 0 / 0
08.06.2017, 12:18
    #39468488
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Mizer73а за 2 месяца так никто и не может сказать по теме ничего путного.Чтобы получить путный ответ, нужно, сначала, задать путный вопрос. Ты хоть заглядывал в таблицу экспорта plcommpro.dll? Убедился, что там есть функция Connect? Или написал код "на обум" - по примеру из SDK для dotNet?
...
Рейтинг: 0 / 0
08.06.2017, 12:27
    #39468509
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
Mizer73Leonid Kudryavtsevпропущено...

Никогда о такой не слышал

И как-то сомневаюсь, что при стандартном stdcall такое возможно

именно точно есть, видел на форумах, пользовался.

Ещё раз говорю, ИНОГДА это сделать возможно. Но "иногда" не значит "всегда".
...
Рейтинг: 0 / 0
08.06.2017, 12:29
    #39468511
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dll для Buildedr
SiemarglLeonid Kudryavtsevпропущено...

Никогда о такой не слышал

И как-то сомневаюсь, что при стандартном stdcall такое возможно
Технически вполне можно распарсить обратно С++ манглинг и понять, что за параметры. Но тоже не встречал.

Может, продвинутые дизассемблеры умеют генерить хидер (парсить точно умеют).

depends это умеет делать. Кстати, если я не ошибаюсь, в состав функций WinAPI входит функция, производящая деманглинг для С++ компилятора от Microsoft.

Проблема только в том, что .dll может быть скомпилирована другим компилятором
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / dll для Buildedr / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]