Ich bin auf der Suche nach einer Möglichkeit, Code automatisch am Anfang und am Anfang einer Funktion hinzuzufügen. Die Idee ist, dass ich den laufenden Code später profilieren möchte. Zum Beispiel habe ich die Funktionen:Fügen Sie einen eindeutigen Code zu Beginn und Ende der Funktion in c
void helloWorld(){
printf("Hello World!\n");
}
void worldHello(){
printf("World hello!\n");
}
Ich mag würde eine Art von Makro haben, die sie erweitert:
void helloWorld(){
printf("Function id 1 enter");
printf("Hello World!\n");
printf("Function id 1 exit");
}
void worldHello(){
printf("Function id 2 enter");
printf("World hello!\n");
printf("Function id 2 exit");
}
Wo die ID eindeutig gegeben wird jedes Mal, wenn ich meinen Makro verwenden. Kann jemand eine gute Idee haben, wie ich das erreichen könnte? Ich habe das "__COUNTER__" in GCC angeschaut, aber es hat nicht wirklich funktioniert, wie ich es wollte.
Haben Sie in gprof geschaut? –
Zu viel mit den Sprachgrundlagen zu fummeln - wie zum Beispiel Funktionsdeklarationen mit etwas Makrozauber zu ersetzen, das automatisch Code hinzufügt - könnte auf kurze Sicht eine gute Idee sein. Aber Menschen (einschließlich Sie selbst) werden Sie langfristig dafür hassen. ;-) Dave und Downvoter hier abkommend, werfen Sie einen Blick auf bereits existierende Lösungen. – DevSolar
Nein, ich wusste nichts darüber, aber ich benutze meinen Code auf einem Mikroprozessor, und ich versuche, die ID der aktivierten Funktionen mit GPIO-Pins zu setzen und die Ausgabe auf einer anderen Hardware zu lesen und zu analysieren. Ich habe sehr strenge Zeitvorgaben und kann die Ausdruckarten, die ich normalerweise verwende, nicht verwenden. – Kristoffer