IT

C ++ 용 온라인 이름 demangler가 있습니까?

lottoking 2020. 8. 14. 08:01
반응형

C ++ 용 온라인 이름 demangler가 있습니까? [닫은]


상당히 길고 혼란스러운 링크 오류가 발생하고 일부 웹 사이트의 일부 텍스트 상자에 게재 할 수있는 좋겠습니다.

누구든지 어디에 있습니까?


나는 네이티브 온라인 서비스를 만들었습니다. https://demangler.com

이것은 gcc C ++ 기호 demangler입니다. 스택 추적 또는 nm 출력을 텍스트 상자에 복사하면 이름이 demangled 된 출력이 반환됩니다.

@Update : 이제 MSVC 및 Java 기호도 제거됩니다.


이것은 조금 늦을 수도있을 것이 질문을 기반으로 하나를 만들었습니다. 내가 시도한 입력으로 작동하고, Emscripten을 통해 Javascript로 된 __cxa_demangle 및 __unDName을 통해 g ++ 및 msvc ++를 지원합니다. 이것이 누군가에게 도움이 되기를 바랍니다 : c ++ filtjs

편집 : 이스케이프 문제 수정


대부분의 (전부는) C ++ 컴파일러는 c++filt사용자가 찾고있는 것을 정확하게 수행하는 도구 와 함께 제공 됩니다.

마우스 클릭으로 원하는 경우 ... 그것을위한 GUI를 작성하십시오.)


두 가지 복사 및 넣기 온라인 솔루션이 있습니다.

GCC 및 Clang에 대한 지원 만 필요한 경우 가장 다재다능한 온라인 C ++ 컴파일러 인 Coliru 를 사용할 수도 있습니다 .

이것은 까다 롭고 내기, 앞뒤로 넣기 및 클릭만큼 까먹기 너무 어렵지는 문제가 많았던 것처럼 보이는 템플릿 변수에 문제가 있습니다. 다음과 같이 주문한 줄을 수정하기 만하면됩니다.

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)
           ^^^^^^^^^^^

참고로, Borland / MS / 모든 이름이 엉망이되는 루비 보석도 있습니다 : unmangler

참고 URL : https://stackoverflow.com/questions/3006438/is-there-an-online-name-demangler-for-c

반응형