Здравствуйте, adontz, Вы писали:
A>Здравствуйте, yxiie, Вы писали:
A>>>Перешли мне херед из папки DIA SDK Y>>куда переслать?
A>Cкажи-ка чему у тебя равено значение поля CLSID в ключе HKEY_CLASSES_ROOT\MSDIA? A>У меня {e60afbee-502d-46ae-858f-8272a09bd707}
{151CE278-3CCB-4161-8658-679F8BCF29ED}
A>Работает ли пример dia2dump из DIA SDK?
работает
A>Там в папке bin есть DLLка. Напусти на неё regsrv32, может просто не зарегистрирована?
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Mamut, Вы писали:
A>updated.
A>Если ничего не поможет, вот msdia71.dll (надо зарегистрировать)
именно он и нужен
сейчас смотрю на 597 User defined types (UDT) found и диву даюсь Три сырцовых файла общим размером в 8,93 КБ Но — используют Qt. БОльшая часть вытянулась оттуда.
Единственное, кто бы мне сказал, что такое BATTERY_REPORTING_SCALE:
User Defined Type [BATTERY_REPORTING_SCALE] of kind [struct]
{
[NO ENUM]
DATA [Granularity] of type [unsigned long (4 bytes)] of kind [field] with access [public]
DATA [Capacity] of type [unsigned long (4 bytes)] of kind [field] with access [public]
[NO FUNCTION]
[NO UDT]
}
Но — очень прикольно.
Serialization2 тоже работает на ура
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Kimiko Itoh — 04 River of Crystals">> ...
Здравствуйте, Mamut, Вы писали:
M>сейчас смотрю на 597 User defined types (UDT) found и диву даюсь Три сырцовых файла общим размером в 8,93 КБ Но — используют Qt. БОльшая часть вытянулась оттуда.
Да, выдаются все используемые типы. Если что-то было в lib/obj Файлах, то это тоже выдаётся.
M>Единственное, кто бы мне сказал, что такое BATTERY_REPORTING_SCALE:
M>Serialization2 тоже работает на ура
А если разрегистрировать msdia71.dll (и удалить на вский случай) то Serialization2 опять работает? Просто не хочеться с прогой на 62Кб поставлять DLL на 200
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Mamut, Вы писали:
M>>сейчас смотрю на 597 User defined types (UDT) found и диву даюсь Три сырцовых файла общим размером в 8,93 КБ Но — используют Qt. БОльшая часть вытянулась оттуда.
A>Да, выдаются все используемые типы. Если что-то было в lib/obj Файлах, то это тоже выдаётся.
Я и не против, в принципе... Появились мысли, как ипользовать то или иное, стобы уменьшить зависимости — побочный эффект, так сказать.
M>>Serialization2 тоже работает на ура
A>А если разрегистрировать msdia71.dll (и удалить на вский случай) то Serialization2 опять работает? Просто не хочеться с прогой на 62Кб поставлять DLL на 200
Работает
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Mary Black — Mo Ghile Mar">> ...
Люди, если у всех всё заработало, пожалуйста выскажитесь на счёт скорости
[объём исходников в мегабайтах]/[скорость работы в секундах]
[количество UDT]/[скорость работы в секундах]
Утилита должна обрабатывать КУЧУ информации, если она хоть чуть-чуть тормозит, лучше об этом узнать сейчас.
Исходите из того, что время работы утилиты добавится ко времени компиляции.
Здравствуйте, Mamut, Вы писали:
M>Я и не против, в принципе... Появились мысли, как использовать то или иное, чтобы уменьшить зависимости — побочный эффект, так сказать.
Тут какое дело — использование типа не есть использование объекта этого типа. Когда я пишу что-то вроде
A * pA;
vector<A> va;
тип A использован, а объект типа A нет M>Работает
Ну если Serialization2 у yxiie тоже заработает то на этом варианте и остановимся.
A>>>Перешли мне херед из папки DIA SDK Y>>куда переслать?
A>Cкажи-ка чему у тебя равено значение поля CLSID в ключе HKEY_CLASSES_ROOT\MSDIA? A>У меня {e60afbee-502d-46ae-858f-8272a09bd707}
{151CE278-3CCB-4161-8658-679F8BCF29ED}
A>Работает ли пример dia2dump из DIA SDK?
не знаю, он не откомпилен — а откомпилить не могу — ATL не установлен.
A>Там в папке bin есть DLLка. Напусти на неё regsrv32, может просто не зарегистрирована?
D:\Programs\VS.NET\Visual Studio SDKs\DIA SDK\bin>regsrv32 msdia20.dll
"regsrv32" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
наверно имелось ввиду: regsvr32? но все-равно после регистрации ничего не работает.
... << RSDN@Home 1.1.3 stable >>
Re[14]: Проект сериализации - 2 [просьба высказаться]
Здравствуйте, adontz, Вы писали:
A>Люди, если у всех всё заработало, пожалуйста выскажитесь на счёт скорости A>[объём исходников в мегабайтах]/[скорость работы в секундах]
1. 1,2 мб/~2 сек.
2. 1,12 /4-5сек
A>[количество UDT]/[скорость работы в секундах]
1. 2666/???
2. 14130/???
не понял, а здесь какое еще время нужно указывать?
первый проект — это то, на что я давал ссылку, во втором используется boost
A>Утилита должна обрабатывать КУЧУ информации, если она хоть чуть-чуть тормозит, лучше об этом узнать сейчас. A>Исходите из того, что время работы утилиты добавится ко времени компиляции.
... << RSDN@Home 1.1.3 stable >>
Re[3]: Проект сериализации - 2 [просьба высказаться]
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, adontz, Вы писали:
A>[объём исходников в мегабайтах]/[скорость работы в секундах]
самих исходников на 2 метра + boost. pdb файлы имеют размер 12 и 2 метра. Первый проход секунд 10, последующие 3. UDT -- 5693
Проблем с последней версией вроде бы нет.
ЗЫ А могет добавить вывод времени работы и номер/билда.. проще будет
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
замечены странности: на разные ф-ции оно как попало пишет то полное имя начиная с кореневого namespace, то короткое имя — только имя ф-ции причем абсолютно без оснований:
User Defined Type [BladeFX::Graphics::BHierarchyNode] of kind [class]
{
[NO ENUM]
DATA [hierarchychanged] of type [bool (1 bytes)] of kind [field] with access [protected]
FUNCTION [BladeFX::Graphics::BHierarchyNode::thisclass] of kind [static] with access [public]
FUNCTION [New] of kind [static] with access [public]
FUNCTION [New] of kind [static] with access [public]
FUNCTION [New] of kind [static] with access [public]
...
User Defined Type [BladeFX::Graphics::BMaterial] of kind [class]
{
[NO ENUM]
DATA [pixelshaders] of type [std::vector<BladeFX::Graphics::BMaterial::InstancedPixelShader,std::allocator<BladeFX::Graphics::BMaterial::InstancedPixelShader> > (16 bytes)] of kind [field] with access [protected]
FUNCTION [BladeFX::Graphics::BMaterial::thisclass] of kind [static] with access [public]
FUNCTION [BladeFX::Graphics::BMaterial::New] of kind [static] with access [public]
FUNCTION [New] of kind [static] with access [public]
FUNCTION [BladeFX::Graphics::BMaterial::New] of kind [static] with access [public]
...
здесь очень хорошо видно на ф-ции New — она во всех классах статическая автоматически сгенерированная, но как видно отображение перегруженных вариантов может меняться абсолютно произвольно. тоже самое и с остальными методами, не только со статиками.
... << RSDN@Home 1.1.3 stable >>
Re[2]: Проект сериализации - 2 [просьба высказаться]
Parsing time: 0.0340524 seconds
PDBs total size: 52Kb
1 User defined types (UDTs) found
User Defined Type [A] of kind [class]
{
[NO ENUM]
[NO DATA]
FUNCTION [func] of kind [method] with access [public]
FUNCTION [func] of kind [method] with access [public]
FUNCTION [func] of kind [method] with access [public]
FUNCTION [func] of kind [method] with access [public]
[NO UDT]
}
Обновил программу, теперь она сама выводит время и объём данных
SD>(там есть полпинковый способ получить енумератор исходных файлов) SD> и время работы будет постоянной величиной для _ЛЮБЫХ_ проектов разумного размера
Не будет, если только PDB файл это не граф с заранее прописанными связями, в чём лично я несколько сомневаюсь. Будет время проверю скорость, он особо быстрее, чем несколько секунд всё равно не выйдет. ИМХО ради такого дела и 5-10 секунд подождать не жалко, тем более, что ничего не мешает организовать некоторое кеширование и не парсить не изменившиеся файлы, если уж всё будет действительно медленно.
SD>таким образом сразу отсекается основной вагон типов из Boost, STL, ATL, Windows+Com ...
А он и так отсекается смотри про DECLARE_SERIALIZABLE. Более того, его и нельзя не отсекать, потому что никакая умная сериализация не поймёт, что _Myfirst и _Mylast это указатели на начало и конец одного и того же блока памяти. Такие типы как в Boost/STL надо подготавливать к сериализации вручную.
Как сериализовать СОМ я пока не решил (CoMarshalInterface/CoUnmarshalInterface? больше ничего в голову не пришло)
Утилита которая есть сейчас это отладочная версия. Если она выводит информацию обо всех типах, это не значит, что в дальнейшем она буддет всю эту информацию хранить и использовать.
ЗЫ кстати идея, а что если по Си++ коду генерировать COM TypeLibrary? No more IDL, тем более, что MSVC поддерживает аттрибуты
Например объявлять это дело так (кто не в курсе, это Си++ код!)
Можно автоматически генерировать реализации IDispatch, QueryInterface (больше никаких COM_MAP) и проч. и проч.
Если ещё сделать редактор того, что обычно есть в rgs файле, то ATL умрёт