3 ms·
> ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2 I'm glad I don't use Objective-C... That's some Java level function naming the
by elwell 7y ago
> ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2
I'm glad I don't use Objective-C... That's some Java level function naming there.
Edit: may have spoke too soon, appears to be possible reverse engineered / decompiled?
- saagarjha 7y agoThis is a block invoke for a mangled C++ function. You'd know it as a lambda inside of Backend::Google::SSBUtilities::shouldConsultWithTencent().
- deleted 7y ago[deleted]
- jimktrains2 7y agoIt appears to be the symbol in the binary. C++ also does similar things. It's called mangling. https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling It's also the reason you sometimes need to extern c or otherwise mark symbols being exported via a c-abi in c++ so that they don't get mangled.
- lelf 7y agobash$ c++filt <<< ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2 invocation function for block in Backend::Google::SSBUtilities::shouldConsultWithTencent() Edit: what are downvotes for? That is the standard way to decipher C++ mangling, using built-in (binutils) tools.
- msbarnett 7y agoYou’re looking at the method name after the compiler got done mangling type information into it for the linker. The human-readable name that (what appears to be an anonymous block) likely appears within in the source code appears to be “shouldConsultWithTencent” in a namespace (class?) “Backend::Google::SSBUtilities”. The other line noise encodes return and argument types via the process of Name Mangling: https://en.wikipedia.org/wiki/Name_mangling https://en.wikipedia.org/wiki/Name_mangling