Этот баннер — требование Роскомнадзора для исполнения 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 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima TПри использовании LoadLibrary() не надо никаких LIB. У тебя оба (EXE и DLL) скомпилированы под одну платформу (x86/x64) ?Это разные варианты (видишь -//#pragma), но и так и так ошибка при запуске из среды. Все х86. Иначе бы и при запуске из папки не грузилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 12:49 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Если вылетает на строке Код: plaintext 1. то проблема в коде DLL. Смотри что там в DllMain() происходит. Можно отладчиком: в проекте с DLL укажи какой EXE запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:03 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли вылетает на строке Код: plaintext 1. то проблема в коде DLL. Смотри что там в DllMain() происходит. Можно отладчиком: в проекте с DLL укажи какой EXE запускать. DLL там вообще никакая, типа - вернуть число 5. Нечему там не работать. Но даже до этого еще не дошло. При запуски экзешника из папки все работает штатно. При запуске из среды без отладки - работает, но dll не грузится. При запуске на отладку просто вылетает. Т.е. проблемы не в dll, а скорее в среде, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:16 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Вот что она пишет при запуске на отладку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Есть там этот файл, и прекрасно открывается при запуске экзешника из папки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:33 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAКстати, не так давно на одном из форумов утверждалось, что экспорт из EXE вообще невозможен иначе чем прикомпиляцией dll к экзешнику, как это делает Дельфи. На форумах пишут много ерунды, 95% людей -- идиоты. На нашем пишут только правду :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 13:47 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Затестил в 2015, все работает. TestDLL.dll - проект Win32 - DLL TestDLL.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. TestDLL.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. EXE - Проект Win32, консольное приложение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:06 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima TЗатестил в 2015, все работает.К вечеру попробую. На вскидку, разницы нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:26 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, кстати, если не затруднит, запустите проект на отладку. Пишет что-то подобное? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:32 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAПишет что-то подобное? А что тебя а этом, собственно, смущает? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:41 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Пишет подобное'Test.exe' (Win32): Loaded 'C:\Test\Debug\Test.exe'. Symbols loaded. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-timezone-l1-1-0.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-file-l2-1-0.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-localization-l1-2-0.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-synch-l1-2-0.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-processthreads-l1-1-1.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\api-ms-win-core-file-l1-2-0.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file. 'Test.exe' (Win32): Loaded 'C:\Test\Debug\TestDLL.dll'. Symbols loaded. The program '[4144] Test.exe' has exited with code 0 (0x0). Если я правильно понимаю PDB файл это отладочная инфа, а это просто предупреждение что этой инфы нет, т.е. если в эти DLL отладчиком полезешь, то увидишь ассемблерный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:42 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA Код: plaintext 1. 2. 3. По моему что-то не так с твоей DLL. Проверь что DllMain() возвращает, скорее всего FALSE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:47 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, 3 разных результата при 3 разных способах запуска проги. Должна быть причина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 14:55 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA3 разных результата при 3 разных способах запуска проги. Должна быть причина. Причина чего? Повторяю вопрос ещё раз, медленно: что именно тебе не нравится в приведённых тобой сообщениях? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 15:14 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima TЗатестил в 2015, все работает. TestDLL.dll - проект Win32 - DLL TestDLL.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. TestDLL.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. EXE - Проект Win32, консольное приложение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:02 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Ошибку какую выдает? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:13 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima TОшибку какую выдает? Код: plaintext 1. Пишет только - DLL not load Error. GetLastError() - как будто его и нет, молчит как партизан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:35 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAПишет только - DLL not load Error. GetLastError() - как будто его и нет, молчит как партизан. Ты %d забыл. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:37 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, точно забыл. #4250. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:45 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA#4250. Точно? https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms681381(v=vs.85).aspx ERROR_NOT_APPCONTAINER 4250 (0x109A) This operation is only valid in the context of an app container. Погуглил, эта ошибка с просмотром видео связана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:54 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, я уже тоже нашел. Но если б я чего понял.))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 16:57 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
ХЗ что у тебя происходит. В архиве exe и dll собранные в Win32 debug. Потести где у тебя проблема, в exe или dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 17:17 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, прога работает. Твоя dll к моему EXE цепляется и в штатном режиме работает.ОК. В режиме отладки прогу выбивает в момент подключения твоей длл. Моя DLL не цепляется к твоему ЕХЕ с ошибкой 125 -Unable to Connect to Headset, Error 125 , а сейчас ее стало выбивать в момент подключения твоей длл. Но ситуация, в общем, сходная. При запуске ЕХЕ из папки цепляется и твоя и моя (старая). При запуске из отладки всех выбивает. Моя, правда, не цепляется и при запуске из среды. В моей ДЛЛ, понятно, ошибка, видимо VS на стадии создания проекта что-то туда пишет. Но почему прогу выбивает в момент подключения твоей ДЛЛ при отладке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 18:37 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBAВ режиме отладки прогу выбивает Скриншот дай. У тебя там такая мистика что остается только предложить переустановить все начиная с виндовса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 20:09 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, скриншот чего? Все, что она пишет я привел. Больше ничего там просто нет. Все таки думаю на VS при создании шаблона проекта. Сейчас делаю пошагово из - Пошаговое руководство. Создание и использование библиотеки DLL (C++) . Посмотрим, что это даст. Там, правда, через ссылку цепляется, потом поменяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 21:19 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, Смешно. Для того, чтобы все заработало надо: 1. При создании консольного приложения в параметрах снять птичку - Предкомпилированный заголовок. 2. При создании ДЛЛ надо создавать не из главного списка, а начинать создавать консольное приложение, и выставить в свойствах - Библиотека ДЛЛ. После этих манипуляций, ваша ДЛЛ стала запускаться в дебагере через LoadLibrary. А моя ДЛЛ нормально скомпилировалась и тоже стала нормально загружаться и через #pragma и через LoadLibrary. И все. Я балдею. "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 22:54 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
Dima T, Да, большое спасибо за помощь. Без Вас копать пришлось бы значительно дольше и глубже. Однако вопрос пока не закрыт, надо еще с экспортом из экзешников разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 23:50 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA, Чудес нет, любая галочка и свойства проекта в студии однозначно транслируется в опцию командной строки. Когда начнешь понимать их смысл, выкинь бубен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2017, 23:52 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
SiemarglYUBA, Чудес нет, любая галочка и свойства проекта в студии однозначно транслируется в опцию командной строки. Когда начнешь понимать их смысл, выкинь бубенА то я не знаю.)) Но бубен попридержу.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 00:00 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBADima T, Смешно. Для того, чтобы все заработало надо: 1. При создании консольного приложения в параметрах снять птичку - Предкомпилированный заголовок. 2. При создании ДЛЛ надо создавать не из главного списка, а начинать создавать консольное приложение, и выставить в свойствах - Библиотека ДЛЛ. Я выбираю нужный мне тип проекта и ставлю галку "Empty project", тогда просто создается пустой проект без всякого мусора из ненужных *.h И отключаю юникод: в свойствах проекта поменять General - Charaster set = Not set Как выше написали это можно после натыкать в свойствах проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 07:29 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBADima T, Смешно. Для того, чтобы все заработало надо: Очень смешно. Чтобы всё заработало, надо ИДТИ УЧИТЬСЯ , а не пытаться сходу сделать в общем не самый простой по архитектуре проект, в котором НА ЛЮБОМ шаге можно сделать кучу всего не так, как надо, если не понимаешь. И можно после того, как сделал не так, придумать 20 неверных фантазий , не относящихся к реальности ну совсем никак, а потом ещё 20 способов выйти из этого "эльфийского эдема с единорогами" в другой, ещё более сказочный мир. Желаю тебе успехов в этом весёлом путешествии по иным мирам. (а нужно было всего лишь сесть на недельку, и прочитать книжку) YUBA1. При создании консольного приложения в параметрах снять птичку - Предкомпилированный заголовок. вообще никак не на что не влияет, кроме скорости сборки проекта, которая у тебя и так будет очень быстрая. YUBA2. При создании ДЛЛ надо создавать не из главного списка, а начинать создавать консольное приложение, и выставить в свойствах - Библиотека ДЛЛ. Ага, и как консольное приложение соотносится с .DLL? ЭТо два независимых вида проекта, одно и другое. YUBAПосле этих манипуляций, ваша ДЛЛ стала запускаться в дебагере через LoadLibrary. А моя ДЛЛ нормально скомпилировалась и тоже стала нормально загружаться и через #pragma и через LoadLibrary. Видимо, какими-то ужимками наш ТС таки включил в проекте отладочный режим, возможно, переключился на конфигурацию с отладочным режимом... YUBAИ все. Я балдею. Главное -- чтобы тебе нравилось! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 08:54 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
MasterZiv, интересно, и какую книжку вы мне советуете почитать? Обычно в книгах по языкам на 3/4 объема излагается синтаксис и некие основы, а что-то действительно интересное и полезное из 600 стр. ну 20-40. Все. Книжек не напасессся. Общаясь с VB и C# синтаксис С++ я конечно подзабыл, но это восполнимо по ходу пьесы. Хотя, одну книжку, но хорошую надо иметь, для лучшего сна. А что касаетсяMasterZivАга, и как консольное приложение соотносится с .DLL? ЭТо два независимых вида проекта, одно и другое. Дык, непосредственное отношение. По шагам, для непонимающих.)) 1. При создании проекта выбираем консольное приложение. Нажимаем Далее. 2. В открывшемся окне свойства ставим gтичку -Библиотека ДЛЛ. Кстати, это рекомендации MS по созданию ДДЛ. См.MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 12:50 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
YUBA1. При создании проекта выбираем консольное приложение. Нажимаем Далее. 2. В открывшемся окне свойства ставим gтичку -Библиотека ДЛЛ. Кстати, это рекомендации MS по созданию ДДЛ. См.MSDN. я же говорю, бред какой-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2017, 09:42 |
|
||
|
C++ exe проект как DLL
|
|||
|---|---|---|---|
|
#18+
MasterZivя же говорю, бред какой-то... Все вопросы к MS - Пошаговое руководство. Создание и использование библиотеки DLL (C++) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2017, 12:44 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018313]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
100ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 447ms |

| 0 / 0 |
