Makros - Wie geht das?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Hm, cool ... bei einem Makro wird also der Code kopiert ... anstelle wie bei einer Prozedur nur dort hin gesprungen usw. ...

Und wie verläuft es sich mit Parametern? ... oder wäre das wieder zu kontraproduktiv, wenn das gehen würde? bzw wenn ichs mir so recht überlege, wäre ja eigentlich quatsch :lol: ...

Also kann man den inhalt eines Makros so verwenden, als würde man den Code immer und immer wieder schreiben? Oder gibt es da doch einschränkungen?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Jetzt hab ich den Vorteil verstanden, Makros werden direkt an der stelle, wo sie aufgerufen werden eingefügt. Dann machen sie Sinn.

Gosub geht auch nach oben, bzw. manchmal auch nach hinten los :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@PMV

mit Parametern wäre sogar eigentlich wünschenswert.

damit unterschiede sich ein Macro nurnoch in punkto Ausführungsgeschwindigkeit/Quellcodelänge von einer Procedure.

in POV-Script geht das, und es ist ein außerordentlich mächtiges Werkzeug.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Kaeru Gaman
Siehe Dir doch mal dies an: http://forums.purebasic.com/english/vie ... hp?t=17019
With : EndWith sollen auch als RealMakro umgesetzt werden, was immer auch das ist :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hm... joah...

aber es heißt ja, geplant...

aber das unterforum "wishlist" ist gut...

ich sollte mich endlich mal im englischen forum anmelden,
und mal nach boole'schen ausdrücken fragen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> aber es heißt ja, geplant...
Dann mach das mal, dann wüßtest Du auch, das Fred geäußert hat, das die PB 3.9x Serie abgeschlossen ist. Als nächstes kommt also 4.0 wo die Makros drinne sein sollen. Ob das jetzt 3 oder 6 Monate bedeutet, weiß natürlich niemand so genau :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Ha ha ha, nach Boolschen Ausdrücken wurde schon soooo oft verlangt. Die Featurelist ist so voll, damit könnte Fred sein Leben lang Features einbauen und würde sie nicht vollständig abgearbeitet haben. Es macht wenig bis keinen Sinn das nochmal dort zu melden da das Fehlen dieser Boolschen Operationen schon so oft bemängelt wurde...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Nochmal ne fräge zu den Makros
Wenn ich das richtig verstehe, könnte ich also 1000 Makros per Include z.B. einbinden, wenn ich nur 2 verwende, tauschen ja auch nur diese dort auf, wo ich sie verwende. Ist das richtig?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

jap...

(aber in dem include stehen natürlich alle) ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Das heißt im speicher sind diese schon bei programmausführung? Oder werden die anderen vom Compiler komplet ignoriert, so dass nur in dem fall diese 2 Makros im Programm auftrauchen?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten