Seite 1 von 1

debug/release zur Laufzeit

Verfasst: 8. Februar 2012 13:03
von benibela
Gibt es eine einfach Möglichkeit zur Laufzeit zu erkennen, ob das Programm die normalen oder die debug Bibliotheken verwendet? (also nicht QT_NO_DEBUG, oder den PE/ELF-Header auslesen)

Re: debug/release zur Laufzeit

Verfasst: 8. Februar 2012 13:17
von Christian81
'man file'
Aber warum?

Re: debug/release zur Laufzeit

Verfasst: 8. Februar 2012 14:44
von benibela
Christian81 hat geschrieben:'man file'
Heh?
Christian81 hat geschrieben: Aber warum?
Weil das immer so ein Chaos ergibt, wenn es jemand nicht mit den passenden Libraries linkt.

Re: debug/release zur Laufzeit

Verfasst: 8. Februar 2012 18:19
von Christian81
Ach wir sind ja unter Windows ... keine Ahnung aber unter Windows hängt man an die Debug-Libs meist ein 'd' ran. Qt macht das genauso...

Re: debug/release zur Laufzeit

Verfasst: 8. Februar 2012 22:23
von benibela
Christian81 hat geschrieben:keine Ahnung aber unter Windows hängt man an die Debug-Libs meist ein 'd' ran. Qt macht das genauso...
Ja, aber wie kann das Programm feststellen mit welchen Libs es gelinkt ist, oder welche dlls es aufgerufen hat?

Ich suche nach einem Befehl wie qVersion() der einem die Versionsnummer der dlls sagt, oder qStaticBuild(), der sagt, ob es überhaupt dlls sind.

Christian81 hat geschrieben:Ach wir sind ja unter Windows
Eigentlich bin ich schon unter Linux, aber es muss platformunabhängig sein

Unter Linux hat man file auch nur das für die nächsten Stunden gebracht:

Code: Alles auswählen

top - 14:48:31 up  3:59,  2 users,  load average: 1,34, 0,86, 0,43
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+COMMAND
17783 benito    20   0 18392 1884  248 R 100,0  0,0   3:35.63 man                                                                                                                

Re: debug/release zur Laufzeit

Verfasst: 9. Februar 2012 06:34
von Christian81
'man file' sollte auf das Manual des Befehls 'file' hinweisen ...

Und nein - sowas ist nicht möglich. Und unter Linux ist es auch kein Problem Debug und Release zu mischen. Das ist nur ein Problem mit MSVC.
Ein bischen Sorgfalt sollte man von einem Programmierer nunmal erwarten.