как вызвать собственную функцию печати dbx из симпатичной функции печати для dbx - PullRequest
1 голос
/ 05 января 2012

Я пытаюсь написать красивую маршрутизацию печати для dbx на солярисе для красивой печати карт.Теперь карты могут содержать элементы (одного) произвольного типа.Я не хочу знать, кто они, или справиться с этим.Я хочу позволить dbx самому разобраться, как их печатать.Я просто хочу перебрать и напечатать ключи и значения в формате [ключ, значение].Но я не могу понять, как отозвать подпрограммы печати dbx из db_pretty_print.Есть идеи ?Спасибо.

1 Ответ

1 голос
/ 11 января 2012

Я не думаю, что вы можете интегрироваться с db_pretty_print, чтобы делать то, что вы хотите. Я бы посоветовал вам написать функцию внутри вашей программы, которая может возвращать символьную строку, содержащую шестнадцатеричные адреса объектов, которые вы хотите напечатать. Внутри dbx вы можете написать функцию оболочки, которая вызывает вашу функцию «перечислителя», затем функция оболочки может разделить строку, выполнить итерации по адресам и применить функцию печати dbx. Я предполагаю, что вы скажете dbx использовать информацию RTTI C ++ для динамического выбора правильного типа для целей команды печати. Для программ на C или Fortran я не знаю, как заставить dbx динамически выбирать правильный тип для печати. ​​

...