Compiler Optionen im Quellcode
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Compiler Optionen im Quellcode
Mal 'ne vermutlich blöde Frage: Wo kann man die Sachen überhaupt einstellen? Geht das nur unter Windows?
Falls ja, dann sind das vermutlich diese Ressourcen, die in die EXE mit einkompiliert werden. Die kann man mit einer API wieder auslesen. Aber da ich grad kein Windows habe, kann ich dir kein Beispiel zusammenkleistern.
Irgendwie kann man mit 'EnumResourceNames_()' alle Ressourcen in der EXE auflisten, oder wenn man genau weiß wie sie heißt, kann man auch einfach 'FindRessource_()' nutzen. Auf diesem Weg kannst du jedenfalls innerhalb deines Programms zur Laufzeit wieder herausfinden, welche Parameter du da in den Compiler-Optionen eingestellt hast. Einfacher geht's wohl nicht, weil das wohl eine Windows-Sache ist.
Falls ja, dann sind das vermutlich diese Ressourcen, die in die EXE mit einkompiliert werden. Die kann man mit einer API wieder auslesen. Aber da ich grad kein Windows habe, kann ich dir kein Beispiel zusammenkleistern.
Irgendwie kann man mit 'EnumResourceNames_()' alle Ressourcen in der EXE auflisten, oder wenn man genau weiß wie sie heißt, kann man auch einfach 'FindRessource_()' nutzen. Auf diesem Weg kannst du jedenfalls innerhalb deines Programms zur Laufzeit wieder herausfinden, welche Parameter du da in den Compiler-Optionen eingestellt hast. Einfacher geht's wohl nicht, weil das wohl eine Windows-Sache ist.
Re: Compiler Optionen im Quellcode
Das wird wohl schwierig mit meinem holprigen Englisch.
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Compiler Optionen im Quellcode
Hallo zusammen,
die Versionsinformationen befinden sich nur in den versteckten Kommentaren,
wenn das in den Einstellungen des Editors so eingestellt ist (siehe Datei->Einstellungen->Editor ...)!
Du kannst diese Informationen auch anderswo oder gar nicht speichern lassen!
Wenn Du Projekte verwendest, werden diese Informationen in der Projektdatei gespeichert!
Ob diese Infos dann auch zusätzlich an dem Ort gespeichert werden, der in den Einstellungen angegeben ist weiß ich nicht (nicht ausprobiert).
Genau genommen handelt es sich bei den Versionsinformationen nicht direkt um Compiler-Optionen (nur indirekt).
Die Versionsinformationen werden von der IDE (nicht vom Compiler) in einer Resource-Datei gespeichert.
Diese Resource-Datei wird dem Compiler als Option übergeben!
Wenn Du also Dein Projekt direkt mit dem Compiler (pbcompiler.exe) kompilierst, dann beachtet der Compiler die Versionsinformationen (in den Kommentaren, in der Projektdatei, in ...) nicht. Du müsstest dann selber eine Resource-Datei erstellen und diese dann dem Compiler als Option übergeben.
Und hier noch zwei Links zum Auslesen der Versionsinformationen einer Datei:
==> http://www.purebasic.fr/german/viewtopi ... 070#p20070
==> http://www.purebasic.fr/german/viewtopi ... 35#p308235
lg,
guido
die Versionsinformationen befinden sich nur in den versteckten Kommentaren,
wenn das in den Einstellungen des Editors so eingestellt ist (siehe Datei->Einstellungen->Editor ...)!
Du kannst diese Informationen auch anderswo oder gar nicht speichern lassen!
Wenn Du Projekte verwendest, werden diese Informationen in der Projektdatei gespeichert!
Ob diese Infos dann auch zusätzlich an dem Ort gespeichert werden, der in den Einstellungen angegeben ist weiß ich nicht (nicht ausprobiert).
Genau genommen handelt es sich bei den Versionsinformationen nicht direkt um Compiler-Optionen (nur indirekt).
Die Versionsinformationen werden von der IDE (nicht vom Compiler) in einer Resource-Datei gespeichert.
Diese Resource-Datei wird dem Compiler als Option übergeben!
Wenn Du also Dein Projekt direkt mit dem Compiler (pbcompiler.exe) kompilierst, dann beachtet der Compiler die Versionsinformationen (in den Kommentaren, in der Projektdatei, in ...) nicht. Du müsstest dann selber eine Resource-Datei erstellen und diese dann dem Compiler als Option übergeben.
Und hier noch zwei Links zum Auslesen der Versionsinformationen einer Datei:
==> http://www.purebasic.fr/german/viewtopi ... 070#p20070
==> http://www.purebasic.fr/german/viewtopi ... 35#p308235
lg,
guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
Re: Compiler Optionen im Quellcode
Gibt es mittlerweile eine Möglichkeit, das diese Informationen mit angezeigt werden, in der PB IDE?RSBasic hat geschrieben:Was er meint ist, dass die Versionsinformationen in der PB-Datei gespeichert werden. Öffne deine PB-Datei mit notepad, dann siehst du alle von dir definierten Versionsinformationen am Ende der Datei.
Beispiel:Code: Alles auswählen
Debug "Hallo Welt" ; IDE Options = PureBasic 5.11 (Windows - x86) ; CursorPosition = 1 ; EnableXP ; IncludeVersionInfo ; VersionField0 = 1.2.3.4 ; VersionField1 = 1.2.3.4 ; VersionField2 = Geile Firma ; VersionField3 = Geiles Programm ; VersionField4 = 1.2.3.4 ; VersionField5 = 1.2.3.4 ; VersionField6 = Tolle Dateibeschreibung
Schon irgentwie blöd, das man einen externen Editor benutzen muss...
Re: Compiler Optionen im Quellcode
Leider gibt es keine Einstellung, um solche Informationen gleichzeitig zu bearbeiten und anzuzeigen.
Du könntest aber ein Werkzeug erstellen, um das zu ermöglichen, indem du eigene Variablen definierst, die beim PreCompiling von deinem Tool, welches du entwickeln musst, ausgelesen werden und die PB-Datei automatisch angepasst wird.
Du könntest aber ein Werkzeug erstellen, um das zu ermöglichen, indem du eigene Variablen definierst, die beim PreCompiling von deinem Tool, welches du entwickeln musst, ausgelesen werden und die PB-Datei automatisch angepasst wird.
Re: Compiler Optionen im Quellcode
schade, dank dir für die schnelle Antwort
- TroaX
- Beiträge: 662
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
- Wohnort: NRW
- Kontaktdaten:
Re: Compiler Optionen im Quellcode
Oder einfach mal die Dokumentation lesen
Einfach in den Compiler-Optionen die Informationen definieren. Diese stehen dann in den Konstanten. Einfach mal oben die ersten 3 Felder in den Compiler-Optionen unter Versions-Info eintragen und mal folgendes ausführen:
Deine Sourcecodes solltest du in Projekten verwalten. Innerhalb dieser kannst du die Informationen zentral über die Compiler-Optionen setzen und mit den Konstanten immer abrufen. Um den Schritt der Compiler-Optionen kommste aber nicht herum.
Siehe: http://www.purebasic.com/german/documen ... tants.html#PB_Editor_BuildCount Ide_compiler
#PB_Editor_CompanyName Ide_compiler
#PB_Editor_CompileCount Ide_compiler
#PB_Editor_Email Ide_compiler
#PB_Editor_FileDescription Ide_compiler
#PB_Editor_FileVersion Ide_compiler
#PB_Editor_FileVersionNumeric Ide_compiler
#PB_Editor_InternalName Ide_compiler
#PB_Editor_LegalCopyright Ide_compiler
#PB_Editor_LegalTrademarks Ide_compiler
#PB_Editor_OriginalFilename Ide_compiler
#PB_Editor_PrivateBuild Ide_compiler
#PB_Editor_ProductName Ide_compiler
#PB_Editor_ProductVersion Ide_compiler
#PB_Editor_ProductVersionNumeric Ide_compiler
#PB_Editor_SpecialBuild Ide_compiler
#PB_Editor_Website Ide_compiler
Einfach in den Compiler-Optionen die Informationen definieren. Diese stehen dann in den Konstanten. Einfach mal oben die ersten 3 Felder in den Compiler-Optionen unter Versions-Info eintragen und mal folgendes ausführen:
Code: Alles auswählen
Debug #PB_Editor_CompanyName
Debug #PB_Editor_FileVersionNumeric
Debug #PB_Editor_ProductVersionNumeric
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Re: Compiler Optionen im Quellcode
Die Constanten kenne ich, es ging mir einfach darum ob man es sich anzeigen lassen kann.
(Man hätte alles schön auf einen blick zusammen)
Wäre zb. gerade nützlich gewesen, da ich ein paar IDE Tools, bastel, und die Einstellungen z.b fix per Copy&Paste in die neue Datei kopieren wollte.
(Ohne vorher die Dateien mit einen anderen Editor öffnen zu müssen...)
(Man hätte alles schön auf einen blick zusammen)
Wäre zb. gerade nützlich gewesen, da ich ein paar IDE Tools, bastel, und die Einstellungen z.b fix per Copy&Paste in die neue Datei kopieren wollte.
(Ohne vorher die Dateien mit einen anderen Editor öffnen zu müssen...)
Re: Compiler Optionen im Quellcode
ich weiß nicht, ob diese Info hilft, aber die IDE bietet auch die Möglichkeit, die Konfiguration in einer separaten cfg-Datei zu speichern:
Menu -> File -> Preferences -> Editor -> Save Settings to...
Grüße ... Peter
Menu -> File -> Preferences -> Editor -> Save Settings to...
Grüße ... Peter
Hygge