Size: a a a

2020 September 05

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
и вот ты, по сути, сделал норм вещь для того, чтобы покрывать тестами это
источник

RM

Roy Mustang in C++ Together 2.0
А по другому никак, была идея сделать так архитектуру чтоб если ты первый .dll загрузил, а у него есть зависимости, то он сам подгружает что ему надо
источник

RM

Roy Mustang in C++ Together 2.0
но в итоге от этой идеи отказался, ибо геморрой
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Roy Mustang
А по другому никак, была идея сделать так архитектуру чтоб если ты первый .dll загрузил, а у него есть зависимости, то он сам подгружает что ему надо
это геморно, ибо может цикл случайно возникнуть
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
это геморно, ибо может цикл случайно возникнуть
Цикл? имеешь в виду повторный инжект одного и того же .dll?
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
a.dll -> b.dll -> c.dll -> a.dll
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
a.dll -> b.dll -> c.dll -> a.dll
Нее, там такого нет
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
вот и хорошо
источник

RM

Roy Mustang in C++ Together 2.0
Там если один .dll юзает другой, то третий прежде чем грузить проверяет загрузил ли этот .dll кто-то другой ранее
источник

RM

Roy Mustang in C++ Together 2.0
Но опять же, от этой идеи я отказался
источник

RM

Roy Mustang in C++ Together 2.0
Щас реализация такая что ты в .xml перечисляешь имена .dll и юзаешь
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
можно сделать было /delayload в линковке dll-лок
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Roy Mustang
Щас реализация такая что ты в .xml перечисляешь имена .dll и юзаешь
граф зависимостей в хмл
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
ну норм
источник

RM

Roy Mustang in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
граф зависимостей в хмл
Там не граф, просто Modules = "TestModuleA, TestModuleB"
источник

RM

Roy Mustang in C++ Together 2.0
Потом это парсится на вектор и добавляется .dll или .so и загружается по порядку
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
ну, список, частный случай графа
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
ок, короч, хорошо
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
в итоге по поводу говна с линковкой ты его решил через абстрактный класс интерфейса плагина, который торчит из DLL, в которой этот плагин
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
так, как я понил?
источник