powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / библиотечные классы и VMT
29 сообщений из 29, показаны все 2 страниц
библиотечные классы и VMT
    #39350000
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
навеяно темой
shared_ptr и большие динамические массивы

Скажите , может кто знает.
Как загрузку разделяемых библиотек с виртуальными
методами гарантированно прибить мололотком от сборки к сборке или вобще
в разных бинарниках
что бы большие массивы библиотечных классов
можно было выгружать на диск и загружать обратно
без вызовов конструкторов и прочей инициализации.

Я отдаю себе отчет в том , что изменив библиотеку с классами,
файлы массивов станут невалидными.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39350017
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В идеале интерсует , что бы библиотеке
сказать при сборке сказать, а не при сборке бинарника
или велосипеду ручной загрузки в бинарнике,
что все бинарники, которым она нужна
размещали ее с одной и той же точкой входа и адресацией
в свои адресные пространства не зависимо от того
статическая она или динамическая.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39350195
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

ответь на простой вопрос:
-трава или кукуруза?
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39350200
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,
мне кажется все же трава , потому как ничего не понятно...
Кукурузу я ел, от нее нет такого эффекта.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39350813
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivSiemargl,
потому как ничего не понятно...


А что тут не понятного?

Нужно создать массив классов с вируальными функциями
инициализировать его и выгрузить на диск.

В другой программе загрузить массив из файла в память так,
что бы указатели на таблицу виртуальных методов объектов загруженных из файла
ссылались на правильную таблицу виртуальных методов этой программы.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351287
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

Ну да, бред же...

Указатель на виртуальную функцию -- это не данные, это -- код.
Код от данных все как могут пытаются отделять сейчас...

Давай так: ЗАЧЕМ тебе такое нужно ?
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351305
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

Если ты экспортируешь код, то это dll/so, интерфейсы конечно должны совпадать.

Если ты экспортируешь данные, то это сериализация. Можно конечно данные десериализовать и без конструкторов.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351440
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivд0k,

Ну да, бред же...

Указатель на виртуальную функцию -- это не данные, это -- код.
Код от данных все как могут пытаются отделять сейчас...

Давай так: ЗАЧЕМ тебе такое нужно ?

Давайте проверим , когда код превращается в данные
сделайте класс с виртуальным деструктором
и уберите virtual, сделайте их дампы памяти обхектов в файл и сравните
что появляется в области памяти объекта при объявлении деструктора виртуальным.


Нужен максимально простой в реализации механизм сериализации объектов на диск
из разных программ использующих одну и туже библиотеку .
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351454
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl
Если ты экспортируешь данные, то это сериализация.
Можно конечно данные десериализовать и без конструкторов.


Меня интересует самый простой с точки зрения кода
хак-механизм сериализации и десериализации с возможностью
массовой заргузки выгрузки больших массивов содержащих
не РОD объекты.


В C++ POD определяется от противного. Тип данных является POD’ом, если:

у него нет конструктора, деструктора и копирующей операции присваивания (то есть operator=, принимающего на входе тот же тип);
среди нестатических полей нет ссылок C++, не-POD’ов, private и protected;
нет виртуальных методов;
он ни от чего не унаследован.
По стандарту C++ простой тип данных устроен в точности так, как описано. Управляемую же структуру компилятор может реорганизовать так, как он сочтёт наиболее эффективным.


Все последствия неверного использования я себе представляю.

Нужно для отладки работы алгоритмов на больших обьемах,
что бы меньше времени уходило на
повторяющуюся бесполезную в процессе отладки инициализацию.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351494
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

Простой способ, видимо не существует.

Сложный - сделай кастомный аллокатор, и заставь все твое разношерстное хозяйство,нужное для сохранения, его использовать.
Потом таскай дамп памяти, что он нааллокировал при создании тестовых данных.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351525
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemarglд0k,

Простой способ, видимо не существует.

Сложный - сделай кастомный аллокатор, и заставь все твое разношерстное хозяйство,нужное для сохранения, его использовать.
Потом таскай дамп памяти, что он нааллокировал при создании тестовых данных.

Кастомные алокаторы есть, но они не решают проблемы
указателя на таблицу виртуальных методов, которая плавает по адресному
пространству процесса в разных бинариках.
Я изучаю матчасть как это работает, думал может кто в курсе
и поможет ссылкой .
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351695
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кому интерсно практическое применение,
все это будет использоваться в оптимизации преобразований фурье.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351758
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kЕсли кому интерсно практическое применение,
все это будет использоваться в оптимизации преобразований фурьеа в какой области планируется применять преобразования Фурье?
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39351939
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMbд0kЕсли кому интерсно практическое применение,
все это будет использоваться в оптимизации преобразований фурьеа в какой области планируется применять преобразования Фурье?

Сраврение спектральных портретов движущихся объектов.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352073
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

И вправду проблема.

Я посмотрел код, генерируемый gcc - указатель на VMT прописывается в объекте конструктором (и деструктором для нехиповых объектов).
Соответственно, с твоей идеей полный швах.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352148
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemarglд0k,

И вправду проблема.

Я посмотрел код, генерируемый gcc - указатель на VMT прописывается в объекте конструктором (и деструктором для нехиповых объектов).
Соответственно, с твоей идеей полный швах.

Меня еще не покидает надежда явным предсказуемым
образом прибить VMT
к адресному пространству разных процессов через разделяемую библиотеку.

Собственно этот вопрос изначально имелся ввиду в сабже .
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352214
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фундаменталку оставлю тут
потому как я уже запутался в ссылках на всевозможны частные решения
без маштабируемости и предсказуемости поведения.

Выяснил интересную штуку, которую не знал.
Оказывается адресация разделяемых библиотек в простраестве процесса
может плавать не просто в разных бинарниках, а и от запуска к запуску.
Фича сделана что бы затруднить жизнь вирусописателям и прочим злым хакерам.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352308
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

По идее, в dll будет своя независимая копия vmt, потому ничего никому прибивать не надо.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352309
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это если не озаботится экспортом/импортом классов.

А если озаботиться, то надо проверять. Мне лень и ненужно)
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352352
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kСраврение спектральных портретов движущихся объектов.а можно в нескольких словах про технологию применения? Читал, что преобразования Фурье творят чудеса во многих областях, хотелось бы посмотреть на то, как это применяется.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352365
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k,

BaseAdress задай у dll и в сохранённый файл пиши какую то константу привязанную к адресам кода (н-р, адрес функции)при загрузке проверяй на совпадение с текущим

если селфлинков между объектами нет, то работать будет на любой адресации иначе приётся в тоже самое место грузить
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352461
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMbд0kСраврение спектральных портретов движущихся объектов.а можно в нескольких словах про технологию применения? Читал, что преобразования Фурье творят чудеса во многих областях, хотелось бы посмотреть на то, как это применяется.

Классификация объектов по видео и звуку по эталонным спектрам на видео и звуковых дорожка.
Определение скоростей и траекторий движения объектов ( их спектральных портретов).

Машинные органы зрения и слуха.
Пока чисто фундаментальный стартап.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352508
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про математическое основание статьи есть какие-нибудь почитать? Формулы посмотреть?
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352607
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMbА про математическое основание статьи есть какие-нибудь почитать? Формулы посмотреть?

Базовые формулы
тут
дополнительно в системах урвнений
фигурируют эффект доплера, интерференция из оптики ,
законы сохранения импульса из ньтоновской механики......
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39352635
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если более точно, проверка гепотизы из раздела 5.2
и попытка реинженерить алгоритм распознавания образов
человеческим мозгом.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39353283
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k тут мощно
а я где-то читал , что похожие образы, переведённые в голографию (преобразованиями фурье), чем больше похожи, тем более яркое пятно дают на плёнке.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39353452
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMbд0k тут мощно
а я где-то читал , что похожие образы, переведённые в голографию (преобразованиями фурье), чем больше похожи, тем более яркое пятно дают на плёнке.


Да , на этом построена идея классификации и построения иерархий зависимостей
группировок и детализации.

ВИКИфункция описывает коэффициенты («амплитуды») при разложении исходной функции на элементарные составляющие — гармонические колебания с разными частотами (подобно тому, как музыкальный аккорд может быть выражен в виде амплитуд нот, которые его составляют ).


Попытка реализовать в машинном зрении асоциативный аппрат.
например научить отличать абстрактную машину от абстрактного дома
по форме и наличию колес.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39353479
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kПопытка реализовать в машинном зрении асоциативный аппрат.
например научить отличать абстрактную машину от абстрактного дома
по форме и наличию колес.я, конечно, новичок во всех этих ассоциативных операциях, но мне кажется, что, во-первых, ассоциация с конкретным предметом проходит буквально в первый момент, а анализ того, из чего состоит подопытный объект - это уже область работы разума. Во-вторых, машина без колёс в первые наносекунды всё равно будет распознана человеком, как машина. В общем, я бы не думал про "по чему", я бы взял формулы и реализовал бы общий случай. Т.е. разложение по Фурье, как мне кажется, даст результат лучше анализа.
...
Рейтинг: 0 / 0
библиотечные классы и VMT
    #39353505
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMbд0kПопытка реализовать в машинном зрении асоциативный аппрат.
например научить отличать абстрактную машину от абстрактного дома
по форме и наличию колес.я, конечно, новичок во всех этих ассоциативных операциях, но мне кажется, что, во-первых, ассоциация с конкретным предметом проходит буквально в первый момент, а анализ того, из чего состоит подопытный объект - это уже область работы разума. Во-вторых, машина без колёс в первые наносекунды всё равно будет распознана человеком, как машина. В общем, я бы не думал про "по чему", я бы взял формулы и реализовал бы общий случай. Т.е. разложение по Фурье, как мне кажется, даст результат лучше анализа.

Асоциативный аппарат нужен что бы отличить отдельное от машины автомобильное колесо
от велосипедного или канализационного люка.
Если бы просто нужно было разложить формулы в матрицы,
то я бы вопрос о плавающей по бинарникам таблице виртуальных методов не задавал.
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / библиотечные классы и VMT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]