Ich benutze eine Bibliothek, aber einige Methoden Namen nur saugen. Gibt es eine Möglichkeit, diese Methodennamen sicher zu ändern, ohne die Quelle der Lib zu berühren?Änderungsmethode Name einer Bibliothek
Antwort
Da der Methodenname ABI-Level-Detail ist, wird es keine einzige Antwort für jede Maschine geben ... verschiedene ABIs verwenden unterschiedliche Namen Mangling-Schemata und Param-Codierungsschemata etc ... wenn Sie es auf mindestens ein OS eingrenzen, es könnte ein Werkzeug geben, mit dem man einige Methoden umbenennen kann (binutils oder so) ... aber man muss auch die Header ändern, um den neuen Namen zu verwenden oder der Compiler wird ersticken ...
eingeladen im Grunde wäre es nie Ihre Mühe wert –
kann man haben header wie diese
inline int NiceName(){return HorribleName();}
Doesnt Arbeit für Klassenmethoden aber es könnten Sie zurückgreifen - oh die Grauen - Makros
Wenn Sie wirklich den Methodennamen einer Klasse ändern möchten, können Sie das tun. Unterteilen Sie einfach die ursprüngliche Klasse und fügen Sie eine neue Methode mit einem schönen Namen hinzu, die ihre Parameter perfekt an die Methode mit einem hässlichen Namen weiterleitet, den Sie ändern möchten. Kein
struct B
{
// for example
int UglyName(std::string str, int i)
{ std::cout << str << " " << i << std::endl; return i + 1; }
};
struct C : B
{
template<typename ...Args>
auto PrettyName(Args&& ...args)
{ return UglyName(std::forward<Args>(args)...); }
};
int main()
{
C c;
std::cout << "return value: " << c.PrettyName("Test Message: ", 23) << std::endl;
return 0;
}
- 1. jQuery Änderungsmethode bei Eingabe Typ = "Datei"
- 2. Gemeinsam genutzte Bibliothek Name Kollisionen
- 3. Webservice Änderungsmethode Reaktion ohne vorherige Benachrichtigung Kunden
- 4. ld Bibliothek Suchpfad für nicht-Standard-Bibliothek Name
- 5. Unknown Typ Name Fehler in OS‘Mach-Bibliothek
- 6. Name dieser Funktion in der integrierten Emacs Lisp-Bibliothek?
- 7. Mit dart einer JavaScript-Bibliothek
- 8. Exportieren einer importierten Bibliothek
- 9. Rekonfigurieren einer dynamischen Bibliothek
- 10. Relizenzierung einer BSD-Bibliothek
- 11. Hinzufügen einer Bibliothek
- 12. Anmelden einer C# -Bibliothek
- 13. Inhalt einer statischen Bibliothek
- 14. Hinzufügen einer Bibliothek Android-Studio
- 15. Importieren einer neuen Bibliothek - Attribute
- 16. Get Name einer Variablen aus einer Zeichenfolge
- 17. Verwenden von Proguard mit einer Bibliothek, die Spring @Autowired nach Name verwendet
- 18. Gibt es eine weit verbreitete C-Bibliothek zum Lesen von Name/Wert-Paaren aus einer Datei?
- 19. Name Generator für .NET
- 20. Hinzufügen einer Methode zum Klassenobjekt einer Bibliothek
- 21. Wartbarkeit einer Python-Umhüllung einer C-Bibliothek
- 22. Komponententest mit einer statischen Bibliothek
- 23. Erstellen einer Java-Bibliothek "Groovy"
- 24. VB6 mit einer .NET-Bibliothek
- 25. Debuggen einer Bibliothek mit Xcode
- 26. jruby Hinzufügen einer Java-Bibliothek
- 27. Verschleierung eines Moduls/einer Bibliothek
- 28. Inverse einer Funktion berechnen - Bibliothek
- 29. Aufruf einer Bibliothek von innerhalb einer Helfer-Funktion in Codeigniter
- 30. div # name vs #name
, Sie können das nicht – DimChtz
über Muster lesen. Einige wie Proxy wurde gegen Ihre Anforderung –