
OpenGL in Compiler einbauen
- brotkasten-deluxe
- Beiträge: 147
- Registriert: 29.08.2004 01:43
- Wohnort: Germany
- Kontaktdaten:
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
- brotkasten-deluxe
- Beiträge: 147
- Registriert: 29.08.2004 01:43
- Wohnort: Germany
- Kontaktdaten:
- brotkasten-deluxe
- Beiträge: 147
- Registriert: 29.08.2004 01:43
- Wohnort: Germany
- Kontaktdaten:
- brotkasten-deluxe
- Beiträge: 147
- Registriert: 29.08.2004 01:43
- Wohnort: Germany
- Kontaktdaten:
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:

@brotkasten: Die Libraries in dem PureLibraries\ und PureLibraries\Windows oder wie auch immer sind praktisch wrapper zur direkten benutzung der Befehle in PB.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Nein. WinAPI hat damit ja erstmal nichts zu tun, schliesslichDarkDragon hat geschrieben:Frage an Danilo: Muss man sowas wie die WinAPI nicht weit am Anfang beim richtigen Compilerbau kennen?
kannst Du Compiler für alles Mögliche machen.
Das ist kein Wrapper, das sind Import-Libraries zum linkenDarkDragon hat geschrieben:@brotkasten: Die Libraries in dem PureLibraries\ und PureLibraries\Windows oder wie auch immer sind praktisch wrapper zur direkten benutzung der Befehle in PB.
und noch ein paar Header, so daß PB die Funktionen kennt.
Mit dem assemblieren und linken sollte man sich da schon
ein bissl auskennen, bevor man sowas macht.
Erstmal muß der Compiler eine Funktion kennen, z.B. durch
Declare-Anweisungen:
Declare Beep alias "Beep@8" Lib "user32" (Long, Long) : Long
Damit weiß der Compiler das die Funktion "Beep" in der user32.lib
ist (das ist die Import-Lib für die DLL), und das 2 Long-Args
übergeben werden, sowie die Rückgabe auch long ist.
Bei PB funktioniert das über interne Header-Dateien. Die muß
dann nicht der User einbinden wie in FB, C usw., sondern PB
macht das automatisch.
Ruft der User nun Beep(800,100) auf, ist Dein generierter
Code ganz einfach:
Code: Alles auswählen
PUSH dword 100
PUSH dword 800
CALL Beep@8
den (internen) Declare und kannst somit checken ob ein
Fehler vorliegt (z.B. wenn der User einen String statt Long
übergibt, oder nur ein Argument statt 2).
Das wird assembliert, und beim linken wird noch die Import-
Library user32.lib eingebunden und fertig.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
@DarkDragon: Ja, was das mitliefern der dlls angeht, hast du recht. da habe ich mich wirklich geirrt.
@Danilo: ich kann zwar kein C/C++, aber in den Codesamples im API-Guide (die sind ja in C++), werden API-Funktionen immer zuerst mittels "declare" "geladen". Das hiesse ja, dass man mittels C++ ALLE API-Befehle nutzen kann, ohne dass diese als Libs geladen werden müssen, oder? Hat PB auch eine solche "declare"-Funktion (da es nicht ALLE API-Befehle kann)?
cya
Pascal
@Danilo: ich kann zwar kein C/C++, aber in den Codesamples im API-Guide (die sind ja in C++), werden API-Funktionen immer zuerst mittels "declare" "geladen". Das hiesse ja, dass man mittels C++ ALLE API-Befehle nutzen kann, ohne dass diese als Libs geladen werden müssen, oder? Hat PB auch eine solche "declare"-Funktion (da es nicht ALLE API-Befehle kann)?
cya
Pascal