Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Нафига v120_xp? Если стартует и без него? Чтоб читать ругань компилятора про deprecated? Я так понимаю про C++, оно либо сразу не стартует, либо если стартует (а у меня стартует), то уже работает как часики. Или может вдруг внезапно где-то скрашить? Если стартует то можно и без него, проблемы только на старте могут быть. Но ругань компилятора с этим никак не связана. Были бы проблемы - не откомпилировал, а тут просто предупреждения о потенциально опасных местах в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 19:29 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Dima TНо ругань компилятора с этим никак не связана. Были бы проблемы - не откомпилировал, а тут просто предупреждения о потенциально опасных местах в коде. Да, но без _xp опции этих предупреждений нет. И то о чем предупреждают в МОЕМ коде тоже НЕТ. Видимо _xp цепляет то, что "потенциально опасно", а положительного толка от _xp в моем случае видимо ничего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 19:51 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Dima TНо ругань компилятора с этим никак не связана. Были бы проблемы - не откомпилировал, а тут просто предупреждения о потенциально опасных местах в коде. Да, но без _xp опции этих предупреждений нет. И то о чем предупреждают в МОЕМ коде тоже НЕТ. Видимо _xp цепляет то, что "потенциально опасно", а положительного толка от _xp в моем случае видимо ничего нет. Это происки маркетологов MS и не более того. Проблема как была так и осталась, а сообщать или нет о ней это маркетинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 20:05 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, У тебя должна использоваться msvcr120.dll - можешь проверить processexplorer'om Нужно носить с собой рантайм от студии 2013 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 20:24 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
SiemarglУ тебя должна использоваться msvcr120.dll - можешь проверить processexplorer'om Нужно носить с собой рантайм от студии 2013 кому должна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 21:09 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
SiemarglУ тебя должна использоваться msvcr120.dll - можешь проверить processexplorer'om Если смотреть hex-ом то она упомянается: Код: plaintext 1. 2. Но на тестовом XP ее поиском не нашел. А dll запускается. А разве /MT не подсасывает "необходимое"? Но проблемы уже возникли. На 2003 dll вроде стартовала (несколько ф-ций прошли, я лог запустил), а потом бац, fxssvc.exe выдала в журнал Er. 0xc000001D, fault module _my.dll, загрузка службы факсов соотв. висит. Вторая ошибка в журнале от самой dll, типа fault address 00001d5e. И я вот думаю, это "чет не хватает" или уже проблемы в самом коде, на сервере, даже на 2012R2 я ее еще не обкатывал. Там разница в том, что на XP/Win10 только один девайс может быть "активным", а на сервере - много (условия использования MSFax). Но я вроде MS-логику и код в этом пункте не нарушал, там под каждый девайс свой поток. Ну для начала думаю надо xp_120 компильнуть и посмотреть поможет ли это запуску на Win2003. А если не поможет, то делать тест на 2012R2 и уже копаться в коде если там будет то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 21:52 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77А разве /MT не подсасывает "необходимое"? но не гарантирует ничего - говорил уже об OpenMP в частности Дмитрий77Если смотреть hex-ом то она упомянается: а если гланды через анус не удалять, а напустить утилиту анализа импорта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 21:56 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, если код - "не секретный" - выложи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 21:58 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
ИзопропилДмитрий77, если код - "не секретный" - выложи. Свой выкладывать не буду. Но "оригинал" из MS SDK я выкладывал еще в январе, когда был в начале пути. Из него в принципе структура ясна и документация есть (если просто понять что там используется). 20127697 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 22:12 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Но проблемы уже возникли. На 2003 dll вроде стартовала (несколько ф-ций прошли, я лог запустил), а потом бац, fxssvc.exe выдала в журнал Er. 0xc000001D, fault module _my.dll, загрузка службы факсов соотв. висит. Вторая ошибка в журнале от самой dll, типа fault address 00001d5e. И я вот думаю, это "чет не хватает" или уже проблемы в самом коде, на сервере, даже на 2012R2 я ее еще не обкатывал. Там разница в том, что на XP/Win10 только один девайс может быть "активным", а на сервере - много (условия использования MSFax). Но я вроде MS-логику и код в этом пункте не нарушал, там под каждый девайс свой поток. Ну для начала думаю надо xp_120 компильнуть и посмотреть поможет ли это запуску на Win2003. А если не поможет, то делать тест на 2012R2 и уже копаться в коде если там будет то же самое. xp_120 на 2003-м не спасло. Вылетает (но не в самом начале!!!), где и на чем пока ХЗ. Пойду для начала ситуацию на 2012R2 гляну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 22:33 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, "оригинал" собирается со статическим рантаймом без проблем зависимости - kernel32.dll,advapi32.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 22:36 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
ИзопропилДмитрий77, "оригинал" собирается со статическим рантаймом без проблем зависимости - kernel32.dll,advapi32.dll Ну и неоригинал видимо тоже. На 2012R2 у меня все запустилось, хотя с первого раза не получилось. Кинул папку с dll на рабочий стол админа, оттуда зарегил, служба факсов отмочила Не удалось загрузить dll (Err5-нет прав доступа, с чего бы это). Из другой папки все завелось. По крайне мере фу, не глобал error в коде. А 32-битнику на Win2003 чего-то не нравится. FaxDevVirtualDeviceCreation -отрабатывает FaxDevInitialize-отрабатывает (и девайсы в реестре образуются как положено) А дальше должно быть в логе ---fnFaxLineCallback (Device=0) Enter--- Там кода то нету: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. До первого в этой ф-ции WriteDebugString дело не доходит (а эта строчка по сути первая) , из журнала 2003-го только ясно, что 00001d5e is fault address, т.е. ничего не ясно. И вот с чем это связано: рантаймы или таки в коде что не так. Надо видимо добавить еще дебага, чтоб хоть понять доходит ли дело до вызова этой ф-ции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 23:48 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77До первого в этой ф-ции WriteDebugString дело не доходит (а эта строчка по сути первая) пара конструкторов - не считается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 23:51 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
ИзопропилДмитрий77До первого в этой ф-ции WriteDebugString дело не доходит (а эта строчка по сути первая) пара конструкторов - не считается? А ты прав однако, Код: plaintext 1. 2. 3. Первая строка проходит, а на "C++ конструкторах" очевидно и вылетает в мир иной. В первых двух ф-циях эти штуки отсутствуют, поэтому они и проходят. (на XP почему-то и дальше все гладко) И какое направление мысли? Эти std::string вы мне сами насоветовали, еще раз корячиться со строками не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 00:37 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77И какое направление мысли?спрошу на всякий случай. Твои длл в релизе ведь собраны, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 00:54 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
egorych, Да, в Release, при этом изначально был Debug. Я тут пытался эту разницу прояснить как-то, но ответа не получил. И так понял, что если я Release создаю из Debug, то это вообще одно и то же будет. У MS в оригинальном проекте все операции со строками построены на StringCchCopy с ручным выделением памяти. Типа вот такие простыни по каждому случаю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Еще и так понимаю с ручным MemAllocMacro(dwSize); всякий раз Ну, я понимаю что это "родные API". И несмотря в общем-то логическую простоту да и в общем-то немногочисленность действий, переписывать все еще раз (с учетом того что весь этот string-маразм в общем-то уже отлажен) - это сидеть тупо вешаться. И понятно, что StringCchCopy + LPWSTR это то что MS "уважает и пропускает", и рантаймы не нужны. Но это времени уйдет еще вагон а прирост интеллекта =zero. Где надо было, я и возился с этими StringCchCopy. А свои внутренние string-комбинации я делал через std::wstring buffer + std::wstringstream и не в первый раз их использую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 01:12 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77И так понял, что если я Release создаю из Debug, то это вообще одно и то же будет.для дебага и для релиза рантаймы разные нужны, соответствующие. Релизная сборка не содержит отладочной информации и некоторых отладочных костылей. Ну и оптимизации все проведены, которые в дебаге отключены. На первый взгляд, у тебя наблюдается отличие в рантаймах. std::wstring зовётся не оттуда, откуда ты думаешь. А на хрюше случайно получилось, что звалось откуда надо. Подложи в папку со своей dll рантайм от своего компилятора, вдруг повезёт) P.S. Это та самая картина, которой нас MasterZiv постоянно пугает уже который год, когда про dll рассказывает, кмк )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 01:22 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
egorych, да фигня какая-то >Подложи в папку со своей dll рантайм от своего компилятора, вдруг повезёт не повезло, без изменений Психанул, скомпилировал в /MD, установил Redist.2013 на Win2003. Хоть с v120_xp, хоть без него ни фига не заводится std::wstring buffer; std::wstringstream to_buffer; cъело, а при попытке чего то записать в этот самый buffer/to_buffer очевидно быстренько загнулось, больше негде. Снес Redist.2013 с Win2003 пока систему не загадил. Здесь похоже 2 варианта: 1) сидеть-вычищать все std::wstring / std::wstringstream и менять на StringCchCopy/Cut тогда судя по всему / работать будет (работы на месяц вперед) 2) Бухнуть в 2005 студию но уже проблемы, напр. OVERLAPPED ov; ov = {}; там почему-то не компилируется и большая проблема с отсутствием там x64. Ну еще есть вариант забить на XP/2003, но чет я уже за Висты и 7-ки не очень-то уверен с таким бардаком. И обидно забивать из-за каких-то компиляторов/рантаймов, потому что поддерживать мне по инерции не шибко тяжело, а наработок как бы вагон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 03:56 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
egorychP.S. Это та самая картина, которой нас MasterZiv постоянно пугает уже который год, когда про dll рассказывает, кмк )) готовить аккуратно надо - и нечего бояться inprocess COM и плагины разнообразные - ведь работают, да и dll в процессы внедряются, хуки работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 06:48 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Эти std::string вы мне сами насоветовали, еще раз корячиться со строками не хочу. Нет, брат, с таким настроением ты слона не продашь! (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 06:52 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
egorych Релизная сборка не содержит отладочной информации и некоторых отладочных костылей. Релизная сборка может содержать, а может и не содержать отладочную информацию. egorychНа первый взгляд, у тебя наблюдается отличие в рантаймах. std::wstring зовётся не оттуда, откуда ты думаешь. А на хрюше случайно получилось, что звалось откуда надо. Подложи в папку со своей dll рантайм от своего компилятора, вдруг повезёт) P.S. Это та самая картина, которой нас MasterZiv постоянно пугает уже который год, когда про dll рассказывает, кмк )) Как бы проблема в том, что нужно очень чётко понимать, что делать можно, а что нет, когда так делаешь, и очень кропотливо отслеживать весь код. Новичкам это вообще не объяснить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 10:59 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77сидеть-вычищать все std::wstring / std::wstringstream и менять на StringCchCopy/Cut возьми код std::wstring и wstringstream, скопируй себе, помести его вместо std в mystd и тогда тебе придётся заменить по всему проекту только название пространства имён, зато ты будешь уверен, что берётся именно тот wstring, который тебе надо. А зачем тебе x64 для работы с факсом, можешь рассказать, кстати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:04 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
MasterZivРелизная сборка может содержать, а может и не содержать отладочную информацию.это правда, но объяснять ТС ещё и это мне не хочется, да ему это пока и не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:06 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
MasterZivКак бы проблема в том, что нужно очень чётко понимать, что делать можно, а что нет, когда так делаешь, и очень кропотливо отслеживать весь код. Новичкам это вообще не объяснить.ну и что теперь, новички больше не смогут стать "не новичками"? Конечно категорично запретить проще, чем объяснить. обходной вариант, когда без общего рантайма не обойтись: сделать свою рантайм-библиотеку задефайнить используемые функции на "из своей dll", которая уже компонуется со статической линковкой или даже просто указать компоновщику lib-файл к своей dll с требуемыми функциями, вместо либ рантайма обычно для проектов это десяток-другой функций, вполне посильная задача PS: Дмитрий77, например, для TotalComander есть плагин для просмотра импорта у файлов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:24 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)MasterZivКак бы проблема в том, что нужно очень чётко понимать, что делать можно, а что нет, когда так делаешь, и очень кропотливо отслеживать весь код. Новичкам это вообще не объяснить.ну и что теперь, новички больше не смогут стать "не новичками"? Конечно категорично запретить проще, чем объяснить. 0) категорично запрещал не я. 1) да, проще. и программы в итоге будут правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39436132&tid=2018202]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 140ms |

| 0 / 0 |
