_ZN10Vertexwahn7Network10SocketBase8m_SocketE ???
-
wie macht man aus so einem Bezeichner wie _ZN10Vertexwahn7Network10SocketBase8m_SocketE
wieder:namespace Vertexwahn { namespace Network { class SocketBase { ???: ??? m_Socket; }; } }gibt’s da eine Konvention wie was bezeichnet wird und kann man diese irgendwo nachlesen? in den DLLs findet man ja auch immer wieder solche kryptischen Namen - aber es hat den Anschein als folgenden sie alle einem bestimmten System...
-
Sowas kann gar nicht gehen.
-
Sowas kann gar nicht gehen.
los geh wieder in deinen Sandkasten - Tools wie der Dependency Walker (http://www.dependencywalker.com/) schaffen es ja auch irgendwie...
-
Der Unreg will dir damit sagen, dass es im Code nicht geht, ein:
solver<_ZN10Vertexwahn7Network10SocketBase8m_SocketIE>.doSth()wird nicht klappen. Aber welchem Muster diese Bezeichner in DLLs folgen ist wahrscheinlich Compiler-Abhängig und OS-Abhängig. Schau mal ob es am Ende vll sogar schon WinAPI-Funktionen gibt dafür?
MfG SideWinder
-
Vertexwahn schrieb:
Sowas kann gar nicht gehen.
los geh wieder in deinen Sandkasten - Tools wie der Dependency Walker (http://www.dependencywalker.com/) schaffen es ja auch irgendwie...
Der Dependency Walker kann doch keinen Code generieren?!
-
der Bezeichner _ZN10Vertexwahn7Network10SocketBase8m_SocketE wurde vom GCC für folgendes Konstrukt generiert:
namespace Vertexwahn { namespace Network { class SocketBase { protected: SOCKET m_Socket; // _ZN10Vertexwahn7Network10SocketBase8m_SocketE }; } }Dachte da gibt es Konventionen, da ich in DLLs auch schon mal so ähnliche Bezeichner gesehen habe:
?DeleteChangedRectBufferItems@MirrorDriverWrapper@@QAEXXZanscheinend ist der Bezeichner _ZN10Vertexwahn7Network10SocketBase8m_SocketE nur vom GCC so generiert - wäre nun interessant zu wissen nach welchen Schema der GCC solche Bezeichner generiert.
-
Die Zahlen sind wohl die Länge der Bezeichner.
-
c++filt

Standard-GNU-Tool
-
Hallo,
was hier passiert läuft unter dem Stichwort "name mangling" und ist, wie Side schon sagte, Compiler-abhängig, findet dafür aber nicht nur bei DLLs sondern grundsätzlich bei der Übersetzung von C++ Code statt.