2016-04-22 7 views
-2

Meine Arbeit konvertiert Linux-Befehl in CMake execute_process(COMMAND ...), und es gibt einige Unterschiede zwischen ihnen, so dass ich jeden Linux-Befehl verstehen muss. Aber dieser m4-Befehl hat mich wirklich geschlagen. Der Befehl m4 wie folgt:Linux: Ich kann einen 'm4'-Befehl nicht verstehen

m4 -Isource/analyzer/ -P <source/analyzer/aParser.m4y> source/analyzer/aParser.by 

Was bedeutet dieser Befehl?

I m4 Dokument haben vorher gelesen, und es wird gesagt das Format des m4 Befehl lautet: m4 [option…] [file…], so dass ich denke, in Befehl:

m4 -Isource/analyzer/ -P <source/analyzer/aParser.m4y> source/analyzer/aParser.by 

die -Isource/analyzer/ -P ist [option...] von m4, und diese m4 commad Verwendung < um die Datei source/analyzer/aParser.m4y als m4 [file...] zu lesen, habe ich richtig verstanden?

+1

Diese Frage zeigt keine Anstrengung oder Forschung. Downvoting. – usr1234567

+0

[Diese Seite] (http://www.gnu.org/savannah-checkouts/gnu/m4/manual/m4-1.4.17/html_node/Command-line-files.html#Command-line-files) sagt ausdrücklich , dass ohne Angabe von Eingabedateinamen 'm4' * Standard-Eingabestream * liest. Redirectrion '<' bietet Inhalt für diesen Stream. – Tsyvarev

+0

@Tsyvarev, vielen Dank, ich möchte nur bestätigen, danke für Ihre Hilfe! –

Antwort

3

m4 ist ein Makroprozessor. Lesen Sie die documentation (für GNU m4). Es ist eine ziemlich komplexe Sache, also werde ich nicht versuchen, es in ein paar Sätzen zu abstrahieren. Die -P option wird Vorfixierung builtins mit m4_ so define wird m4_define etc ...

Die < (und >) keine Option bis m4, es eine allgemeine Schale ist redirection.

Natürlich müssen Sie auch die Dokumentation von cmake studieren (was ich persönlich nicht viel gefällt, da GNU make 4 mächtig genug ohnecmake)

Sie sollten wahrscheinlich Wochen beim Lesen Dokumentationen verbringen, einschließlich Advanced Bash Scripting guide & Advanced Linux Programming (und die anderen Dokumentationen, die ich hier gezeigt habe).

+0

Ich habe dieses Dokument schon einmal gelesen, und es heißt, das Format des Befehls m4 lautet: 'm4 [Option ...] [Datei ...]', ich frage mich, ob das '

+0

Habe ich richtig verstanden? –

+1

Ich verstehe nicht, was Sie eigentlich verstanden haben. Ich schlage vor, * Wochen * beim Lesen der Dokumentation zu verbringen. –

Verwandte Themen