Moin,
Hab' hier gerade einen - hm - fuer mich erstaunlichen Effekt.
Ich hab' ein .c file; in dem kommt sowas vor:
1 | #if 0
|
2 | static int64_t bla;
|
3 | //printf("ts=%lld\n",timestamp-bla);
|
4 | if (timestamp-bla<=0) printf("----------------------------------\n");
|
5 | bla=timestamp;
|
6 | #endif
|
Da haette ich in meinem jugendlichen Leichtsinn gedacht, wenn ich da
z.b. die eh' auskommentierte Zeile mit dem printf("ts=... loesche und
neu compiliere, dann sollte das zu keinen Aenderungen im .o file
fuehren.
Tuts aber. Lass' ich mir die .o files in beiden Faellen mittels objdump
-d disassemblieren und diffe die daraus entstehenden Assemblerlistings,
dann haben die an einigen Stellen bei bedingten Spruengen veraenderte
Werte. Aber auch in irgendwelchen "nicht-.text" Bereichen.
Warum?
Gruss
WK