Vladislav
потому что в плюсах нет Windows Forms, есть только в (богомерзком) C++/CLI, который есть часть экосистемы .NET
stranger
Он же по идее юзает или mfc или cli
Berkus
Азамат
Ну окей. Тогда я пошёл.
Berkus
ага, удачи
stranger
Я конечно извиняюсь - а если таки mfc?
Vladislav
откуда в mfc Windows Forms?
Vladislav
процитирую вики: Windows Forms (WinForms) is a graphical (GUI) class library included as a part of Microsoft .NET Framework,[1] providing a platform to write rich client applications for desktop, laptop, and tablet PCs.[2] While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm[3] and only acts as a platform for the user interface tier in a multi-tier solution.[4]
stranger
Тоже же для создания gui
Может неправильно выразился человек просто
Berkus
stranger
Таки нет
Там vcl
Ещё бы Delphi вспомнили )
Berkus
ну вот Windows Forms это конкретный фреймворк и там нет никакого MFC
stranger
Ладно-ладно
Признаю свою ошибку - буду исправляться
Азамат
Кстати разговор про делфи уже поднимался.
Азамат
Но в другой группе.
Konstantin
Добрый вечер, дамы и господа!
Есть библиотека на Фортране, которую нужно вызывать из Си++. Проблема в том, что библиотека насквозь пронизана использованием глобальных переменных и потому совершенно не подходит для конкурентного программирования. Есть ли какой-то способ безопасно работать с ней многопоточно, как-то изолировать один набор этих глобальных переменных в каждом потоке?
Дмитрий ⬡
Если там глобальные переменные...
Berkus
Дмитрий ⬡
То нужна минимум перелинковка.
Matwey
Что известно про глобальные переменные? Они динамически создаются на куче или лежат в .data?
Дмитрий ⬡
Так что нет.
Berkus
единственный способ - инстанс этой библиотеки на каждый тред
Anonymous
Приветствую, господа. Есть одно приложение. В нем перед отправкой - данные шифруются. Как найти эту функцию(для последующего хука)?
Berkus
Pepe 🐸
Anonymous
Matwey
в дата
Тогда почему нельзя каждому потоку виртуальную память под .data отмапить в разные физические области?
Vladislav
Matwey
Я имею ввиду технически такое же возможно
Anonymous
Какие читы?!?! Вы поехавшие?
Pepe 🐸
Vladislav
Anonymous
Или у вас триггер психологический?
Vladislav
Anonymous
🤔
Ну так осведомленные господа присутствуют?
Anonymous
Berkus
Vladislav
Anonymous
Berkus
Vladislav
Berkus
Anonymous
Vladislav
телепаты в отпуске, сорян
B
Berkus
Vladislav
Matwey
Konstantin
Egor
Спасибо!
При этом, обращаю внимание, будут проблемы, если у нас одна и та же задача между разными потоками перебрасывается.
Egor
Ну и @berkus считает, что не заработает, да.
Дмитрий ⬡
Если она не PIC даже думать не хочется. В любом случае это руками разбор библиотеки, загрузка, динамическая линковка. То есть это возможно, но примерно как прогнать вместе с ниткой весь Египет через игольное ушко.
Александр
а почему бы не скопипастить либу N раз и загрузить те же N раз?
Berkus
Александр
программно всё, конечно
Berkus
Александр
Александр
для динамической никаких проблем с копированием и подгрузкой копии не вижу (кроме того, что это костыль)
Дмитрий ⬡
Кстати если не PIC то тоже можно, возни только больше. Это будет весёлый экспириенс.
Berkus
Berkus
есть еще вариант грузить статическую либу динамически
Berkus
чуть сложнее но в принципе - надо просто сделать так чтобы компилер ничего из нее не выкиинул и слинковать в динамическую
Berkus
а потом вернуться к трюку с LoadLibrary
Vladislav
Konstantin
почему?
Потому что мы не знаем сколько потоков нужно будет пользователю. Или идея в том, чтоб динамические библиотеки в рантайме копировались?