Länge des code segments bestimmen
-
Hallo!
zur veranschaulichung meines Problems, hier ein Pseudobeispiel:
#pragma code_seg(push, r1, ".mycode") void func1(...) { ... } void func2.. ... #pragma code_seg(pop, r1)
hier meine Frage:
Wie kann ich den Anfang und die Länge dieses Codeblocks im Speicher bestimmen?
Also die größe von "mycode" und dessen länge. In dem Code sind sehr viele Funktionen drin, also die länge jeder Funktion bestimmen fällt flach
Vielen Dank im vorraus,
McGreg
-
am Anfang und am Ende Labels setzen und dann:
laenge=ende-anfang
-
Das problem ist, die Funktionen verteilen sich über mehrere Dateien.
Meines Wissens klappt das dann nicht mit dem Label
-
hi,
falls du ein Linker Script benutzt könntest du 's z.B. so machen:
/*blabla*/
.text:
{
__textStart__ = .;
*(.text)
__textEnd__ = .;
}
/*blabla*/Dann in c/c++ Code folgendes einfügen:
extern unsigned int __textStart__; extern unsigned int __textEnd__; unsigned int getTextSize() { return ((unsigned int)&__textEnd__ - (unsigned int)&__textStart__); }