Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Пусть есть C++ EXE проект. Из этого экзешника надо организовать Export-функции. Такие EXE реально существуют. Что и как нужно сделать, чтобы это реализовать? В стиле WinAPI, для начала. "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 22:14 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
RTFM declspec dllexport. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 22:30 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovRTFM declspec dllexport. И все? А настройки проекта (VS 2015)? Экспорт в стиле ДЛЛ из экзешника у меня не получился. М.б. птичку где поставить? Вообще, в инете пишут, что масса проблем, но более менее чего-то конкретного нет. А библиотеки классов как? Вообще надо работать с методами и переменными самого экзешника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 22:39 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAИ все? А настройки проекта (VS 2015)? Экспорт в стиле ДЛЛ из экзешника у меня не получился. Да вроде всё. Нет никакой разницы между экспортом из DLL и экспортом из EXE. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 22:42 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
PS Для примера. Пусть, скажем, есть консольное приложение Win32. Надо экспортировать последнюю строку с экрана. вроде всего несколько строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 22:46 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAДля примера. Пусть, скажем, есть консольное приложение Win32. Надо экспортировать последнюю строку с экрана. вроде всего несколько строк. Мелкомягкого монстра мне заводить лень, так что извини, пример будет с GCC. Вот исходник: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вот строка сборки: g++ exeexp.cpp -o exeexp -m32 Вот выдержка из результата tdump exeexp.exe: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 23:03 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Спасибо, у меня в VS примерно тоже самое, но пока не работает. Попробую разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 23:11 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Теперь загвоздка. Консольное приложение не воспринимает string ни в каком виде. Код: plaintext 1. Пишет - Код: plaintext 1. Не понимаю - string, string.h, using namespace std - все это есть. Что еще этой string не хватает? Ошибка только в cpp. В h-файлах ошибок не наблюдается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 00:50 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAСпасибо, у меня в VS примерно тоже самое, но пока не работаетможно ещё попробовать стандартный способ через def-файл, у меня так работал импорт из exe Ошибка только в cpp. В h-файлах ошибок не наблюдается.проверь порядок включения #include<string> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 06:10 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA, странно, ибо http://www.cplusplus.com/reference/string/ Кажется мне, что ошибка где-то в другом месте, можете код показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 07:34 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAПусть есть C++ EXE проект. Из этого экзешника надо организовать Export-функции. Такие EXE реально существуют. Что и как нужно сделать, чтобы это реализовать? В стиле WinAPI, для начала. [] нужно сделать ровно то же, что и при экспорте из .DLL, не отличается ничем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 11:39 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAПусть есть C++ EXE проект. Из этого экзешника надо организовать Export-функции. Такие EXE реально существуют. Что и как нужно сделать, чтобы это реализовать? В стиле WinAPI, для начала. Такой экспорт будет работать только при вызове из своего же EXE. Если вызовешь его например из приложения на Дельфи - оно скрашится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 11:43 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а, рекомендую через .DEF файл. __declspec __dllexport при этом не обязателен. и надо еще добавить ключик чтобы линкер собрал библиотеку импорта. там не сложно, никаких подводных камней нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 11:45 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAТеперь загвоздка. Консольное приложение не воспринимает string ни в каком виде. Код: plaintext 1. Пишет - Код: plaintext 1. Не понимаю - string, string.h, using namespace std - все это есть. Что еще этой string не хватает? Ошибка только в cpp. В h-файлах ошибок не наблюдается. YUBA, ты бы хоть уже книжку какую почитал, прежде чем с экспортом- то баловаться... как бы есть принцип "от простого к сложному", а то люди не понимая делают одну хрень, потом другую, не понимая уже две вещи, и так далее, и получается что? "Специалист", который думает, что он все знает и умеет, потому что он уже все это делал, а он не знает тем не менее элементарных вещей, не понимает их... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 11:51 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
MasterZivYUBA, ты бы хоть уже книжку какую почитал, прежде чем с экспортом- то баловаться... как бы есть принцип "от простого к сложному", а то люди не понимая делают одну хрень, потом другую, не понимая уже две вещи, и так далее, и получается что? "Специалист", который думает, что он все знает и умеет, потому что он уже все это делал, а он не знает тем не менее элементарных вещей, не понимает их...Да, читал я. Не согласен, с обоими.(с). Последнюю книжку, которую я чмтал по C++ - это было по VS 6, аж в 99 г. С тех пор VB, C#. Так что С++ полузабытый язык. Многое изменилось. А на непонятки есть MSDN и Форум. А сама EXE-DLL неожиданно скомпилировалась. В чем было дело не понял, т.к. код вообще тот же самый. Кстати, не так давно на одном из форумов утверждалось, что экспорт из EXE вообще невозможен иначе чем прикомпиляцией dll к экзешнику, как это делает Дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 12:24 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Пишу функцию Код: plaintext 1. Все как у всех. Выдает единственную ошибку Код: plaintext 1. VS 2015. Что ей не нравится? Понятно, что тип данных, однако и во всех экземплах строка, и ничего. А LPCWSTR как тип на msdn вообще не ищется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 18:41 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 18:59 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
egorych Код: plaintext 1. ?Понял. А почему в большинстве экземплов без L? Ошибки или новая редакция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 19:22 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAА почему в большинстве экземплов без L? Ошибки или новая редакция? Открой для себя чудесный мир юникода. И спроси себя: "зачем я в свойствах проекта поставил эту галочку?" Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 19:29 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovОткрой для себя чудесный мир юникода. И спроси себя: "зачем я в свойствах проекта поставил эту галочку?" Не виноватая я (с). Она сама ко мне пришла. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 19:48 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAА почему в большинстве экземплов без L? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. вот поэтому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 22:11 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
egorychвот поэтомуПонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 22:30 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Похоже у меня проблемы со средой, или совокупностью - среда - внды (VS 2015 Essen-le, win10 pro). Итак, проект компилируется нормально, но при запуске из среды приложение выполняется, но DLL не загружается. При запуске на отладку, он долго копается в C:\Windows\SysWOW64 и его выбивает на hModule = LoadLibrary("DllEx.dll"); или на //#pragma comment(lib,"DllEx.lib"). DLL и LIB рассованы уже всюду, где нужно и не нужно. При запуске непосредственно экзешника dll загружается. Все остальное уже закомментировано в процессе изысканий.)) Куда бежать, что смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:35 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
При использовании LoadLibrary() не надо никаких LIB. У тебя оба (EXE и DLL) скомпилированы под одну платформу (x86/x64) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:42 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovYUBAА почему в большинстве экземплов без L? Ошибки или новая редакция? Открой для себя чудесный мир юникода. И спроси себя: "зачем я в свойствах проекта поставил эту галочку?" MSVC сам ее ставит по дефолту при создании нового проекта. Для отключения в свойствах проекта поменять General - Charaster set = Not set ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39386703&tid=2018313]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 411ms |

| 0 / 0 |
