Frage zu CompilerIF

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Frage zu CompilerIF

Beitrag von pvmichael »

Hallo!

ich hab da mal eine Frage. Angenommen ich habe folgenden Code:

Code: Alles auswählen

#x = #True

Procedure wichtige_funktion()
 debug "wichtige funktion!"
EndProcedure

debug "test"
CompilerIF #x = #False
wichtige_funktion()
CompilerEndIf
Ist dann im kompilierten ausführbaren Programm die Funktion wichtige_funktion() mit enthalten, oder nicht?

Wäre es sinnvoller das so zu machen?

Code: Alles auswählen

#x = #True

CompilerIF #x = #False
Procedure wichtige_funktion()
 debug "wichtige funktion!"
EndProcedure
CompilerElse
Procedure wichtige_funktion()
 debug "wichtige funktion ist nicht verfügbar!"
EndProcedure
CompilerEndIf

debug "test"

wichtige_funktion()
Grüsse

Michael


EDIT: Code auf Konstanten umgeschrieben...

EDITPS: Ich wollte eigentlich nur aufs Prinzip hinaus, und nicht auf Fehler im Code...
Zuletzt geändert von pvmichael am 19.11.2004 15:47, insgesamt 1-mal geändert.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

sinnvoll ist das was geht .. und das geht alles nicht

Compilerif verlangt Konstanten und keine Variablen ..

Ansonsten braucht man sich um Optimierungen an der Stelle keine Gedanken zu machen weil man ja nicht ständig kompiliert
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

bobobo hat geschrieben:sinnvoll ist das was geht .. und das geht alles nicht

Compilerif verlangt Konstanten und keine Variablen ..
Hab den Code jetzt mit Konstanten versehen, damit er "geht"...
bobobo hat geschrieben: Ansonsten braucht man sich um Optimierungen an der Stelle keine Gedanken zu machen weil man ja nicht ständig kompiliert
Mir gehts da weniger um Optimierungen, sondern eher darum, ob eine Funktion, die im Programm gar nicht verwendet wird (wegen CompilerIF), überhaupt im Endkompilat vorhanden ist, oder nicht. Die Antwort ist für mich deshalb wichtig, weil ich eine Demoversion und eine Vollversion machen möchte, und da möchte ungern, dass ein Cracker einfach die Demoversion so verändert, dass die vorhandenen (aber nicht genutzten) Funktionen doch verwendet werden. Leider bin ich selber nicht so toll, dass ich mir das Programm im HEX-Editor ansehe, und dann weiß, ob die Funktion drin ist, oder nicht. Deshalb meine Frage ans Forum :)
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Ganz kurz: Ja, ist in der Exe enthalten. Also immer schön mit den Compilerdirektiven arbeiten ;-)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

Danke, das wollte ich wissen.

Ich hatte dennoch gehofft, das der Compiler vielleicht so intelligent ist, und nicht verwendete Funktionen einfach weglässt.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Übrigends macht das Cutter-Plugin von jaPBe genau das...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

@GPI: Danke für den Hinweis, ich glaube da gibts noch eine Menge im jaPBe zu erforschen :)

BTW: Vielleicht eine dumme Frage, aber gibts irgendwo eine Dokumentation zu den Tools? In der Hilfe zu jaPBe hab ich nichts gefunden...
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

bis jetzt nicht. Aber die anleitung ist eh schon sehr outdated...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

GPI hat geschrieben:Übrigends macht das Cutter-Plugin von jaPBe genau das...
@GPI
is auch ein geniales plugin doch verwende ich das nur sehr selten denn einwas gefällt mir daran nich und das ist das da auch alle einrückungen weg genommen werden und wenn ich dann nach ewigen zeiten mal wieder am code was ändern will sehe ich da erstmal nich richtig durch.
WWäre vieleicht ne idee das man da ne art optionswindow bekommt wo man einstellen kann was alles gecuttet werden soll.

MfG Nico
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

nicolaus hat geschrieben:
GPI hat geschrieben:Übrigends macht das Cutter-Plugin von jaPBe genau das...
@GPI
is auch ein geniales plugin doch verwende ich das nur sehr selten denn einwas gefällt mir daran nich und das ist das da auch alle einrückungen weg genommen werden und wenn ich dann nach ewigen zeiten mal wieder am code was ändern will sehe ich da erstmal nich richtig durch.
WWäre vieleicht ne idee das man da ne art optionswindow bekommt wo man einstellen kann was alles gecuttet werden soll.

MfG Nico
Es ist ja eigentlich auch so gedacht, das man mit den normalen Code arbeitet und dann, bevor man die finale EXE erzeugt, den Cutter drüberlaufen läßt und mit diesen Code die Exe erzeugt. Zur weiteren bearbeitung ist da eigentlich nichts gedacht.

Da fällt mir gerade noch ein: Cutter ignoriert alle Konstanten und somit auch die CompilerIF-Anweisungen... Sorry - mein Fehler.

p.s.: Alles Makieren und in Bearbeiten>automatisch einrücken...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten