llvm::Type
2.9 und früher verwendet, um getDescription
-Methode zum Abrufen einer Zeichenfolgendarstellung des Typs zu verwenden. Diese Methode existiert in llvm 3.0 nicht mehr.
Ich bin mir nicht sicher, ob dies zugunsten von Type::print(raw_ostream&)
veraltet ist, aber in jedem Fall bin ich neugierig auf diese API. Welche Beispiele gibt es, wie man es benutzt? Wie kann ich in string
oder const char*
ablegen?
Insbesondere möchte ich die Zeichenfolge an Boost::Format
übergeben, was ein modernes c ++ sprintf
ist.
Ich nehme an, Sie müssen eine Instanz von llvm::raw_string_ostream
erstellen und Ihre std :: string in den Konstruktor übergeben. Jetzt können Sie es als llvm::raw_ostream
verwenden, und wenn Sie fertig sind, rufen Sie .str()
auf, um Ihre Zeichenfolge zu erhalten.
So ungefähr:
%Vor%LLVM hat seine Schnittstelle geändert, so dass nun folgendes funktioniert:
%Vor%