Есть ли онлайн-деманглер имен для C ++?[закрыто]

StackOverflow https://stackoverflow.com/questions/3006438

  •  25-09-2019
  •  | 
  •  

Вопрос

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

Кто-нибудь знает о такой услуге?

Это было полезно?

Решение

Я создал такой онлайн-сервис: http://demangler.com

Это деманглер символов gcc c ++.Вы просто копируете трассировку стека или выходные данные nm в текстовое поле, и оно вернет выходные данные с измененными именами.

@Обновить:Теперь он также удаляет символы MSVC и Java.

Другие советы

Возможно, это немного запоздало, но я создал его, основываясь на этом вопросе.Он работает с входными данными, которые я опробовал, поддерживает g ++ и msvc ++ через __cxa_demangle и __unDName, скомпилирован в Javascript через Emscripten.Надеюсь, это кому-то поможет: c ++ filtjs

Редактировать:Исправлена проблема с экранированием

Большинство (если не все) компиляторы C ++ поставляются с c++filt Инструмент, который имеет именно то, что вы, по-видимому, ищу.

Если вы хотите, чтобы это на мышке, нажмите кнопку ... хорошо напишите графический интерфейс;)

Есть две онлайн-решения для копирования и вставки:

Если вам нужна только поддержка GCC и Clang, у вас также есть возможность использовать Колиру, который, вероятно, самый универсальный Online C ++ компилятор.

Это не так просто, как вырезать, вставить и щелкнуть - но не слишком сложнее - и похоже, нет проблем с параметрами шаблона, как было отмечено выше. Вам просто нужно изменить командную строку, чтобы запустить что-то вроде этого:

cat main.cpp | c++filt -t

Увидеть это жить с этим примером какие делятки:

_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_

к:

void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
           ^^^^^^^^^^^

FYI, есть также Ruby Gem для Demangle Borland / Ms / Все, что потрясенные имена: Munningler

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top