Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 21.02.2007, 16:24 Titel: Einsteigerfragen ^^ |
|
|
Hi Leute,
Ich habe da so ein paar fragen:
1) Wieviel Quelltext kann der FB 0.16 Compiler verarbeiten?
2) Wie ist das mit DATA, RESTORE, READ bei FB 0.16?
3) Was ist beim schreiben aus DATA zeilen -> Dateien z beachten?
4) Sind wie bei QB auch Kommentarzeilen in DATA-Zeilen tödlich?
Ich währe für eine Antwort sehr dankbar  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 21.02.2007, 16:59 Titel: |
|
|
Zu 1.: mehr als QB
Zu 2.: s. BefehlsReferenz
Zu 3. u. 4.: Code: | Option Explicit
Const Esc=Chr(27)
Dim As String y
Dim As Long i
?"e=english"
?"d=deutsch"
?"Was'n:";
Do
y=lcase(Inkey$)
Sleep 1
Loop Until Instr("ed" &Esc, y)
?y
If y="e" Then Restore english Else Restore deutsch
For i=1 To 3
Read y
?y
Next WasImmerDuWillst
english:
Data "One", "Two", "Three" 'So gehz mit Kommentaren
deutsch:
Data "Eins", "Zwei", "Drei" 'Hier gehz auch..
Sleep | Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 21.02.2007, 17:07 Titel: |
|
|
Das läßt sich leicht ausprobieren:
Du schreibst eben mal schnell mehr als 16MB Quellcode und rufst dann fbc auf..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 21.02.2007, 17:08 Titel: |
|
|
Frage zu DATA, 16mb....
Ähm, du hast aber nicht 16MB Daten mit DATA im Programm eingebaut?
Schonmal was von Dateien gehört?
Es würde gehen, aber ich rate davon schleunigst ab... _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 21.02.2007, 17:27 Titel: |
|
|
csderats hat Folgendes geschrieben: |
ich frag nur so blöd weil ich einen (klitzekleinen) intstaller proggen möchte |
Was soll denn man das?
Weißt du nicht, was selbstentpackende Archive sind?
Bei 16MB Daten(!!) würde ich diesen 'intstaller' nicht benutzen..
..tuts nicht auch ein 'ShortIntStaller'  _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 21.02.2007, 18:32 Titel: |
|
|
Der Code, den der fbc auf einem 32Bit-System verarbeiten kann ist auf 2GB unter 9x/ME begrenzt und imho auf 3GB unter NT-Systemen sowie aktuellen Linux-Kerneln. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 21.02.2007, 18:52 Titel: |
|
|
@Mao: Nee, nicht so ganz )
By default sind alle Tasks unter Win32 auf 2 GB begrenzt - also auch der maximale Quellcodespeicher. Das kann man aufweichen, bei XP Professional und den Win2000 und 2003-Serverversionen durch einen speziellen Boot-Switch. Aber selbst dann muss das .exe nochmal speziell behandelt werden mit so einer LargeAdressAware-Option, was normalerweise der Compiler macht - FBC hat da wohl noch keine Features zu bieten Das mit dem 3 GB-Switch gilt übrigens auch für Linux.
Viele Grüsse!
Croco |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 21.02.2007, 20:33 Titel: |
|
|
@croco97:
Ich sagte ja: _bis_ zu 3 GB.
Und eigentlich meinte ich nicht direkt die Größe der Executable, sondern die Größe des Sources - hängt zwar indirekt mit zusammen, aber viel Code kann kleine EXE erzeugen.
Vllt. unklar ausgedrückt gewesen... _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 22.02.2007, 12:28 Titel: |
|
|
Hi,
erst habe ich auf die Frage von csderats auch so wie programmierer reagiert (wozu gibt es Dateien?)
aber als bei einem Projekt in FB ein paar zusätzliche Fonts einzubinden waren fand ich die Idee,
die Fontdaten in den Quelltext zu setzen, nicht übel.
Den Umweg über die DATA - Zeilen wollte ich aber nicht machen.
Warum nicht gleich ein Array dimensionieren und mit den Fontdaten füllen:
Code: | Dim as UInteger Fnt_VAR6X8(0 to 266) = {663208,0,0,0,504102912,1056964615,1792,67371008,_
...._
67109888,0,663306,252972549} |
Diese Arrays packe ich mit in eine bi-Datei.
Es spart den Code der Datei oder Data-Zeilen erst einzulesen.
Die Dimensionierung als 'UIntegert' (4 Byte) erwies sich als praktisch,
da der Quelltext "nur" doppelt so groß wie die Ursprungsdatei wurde
(bei einem Byte Array kann er 3 bis 4x so lang werden!). _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.02.2007, 17:32 Titel: |
|
|
Hi volta,
äähhmm,
volta hat Folgendes geschrieben: | Warum nicht gleich ein Array dimensionieren und mit den Fontdaten füllen:
Code: | Dim as UInteger Fnt_VAR6X8(0 to 266) = {663208,0,0,0,504102912,1056964615,1792,67371008,_
...._
67109888,0,663306,252972549} |
| 16MB-Arrays??
Geht das denn(ob das Sinn machen würde, ist eine andere Frage..)?
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 22.02.2007, 21:42 Titel: |
|
|
Ytwinky, ich weiß, es gehen sogar 512-MB-Arrays, weil ich schon mit diesen gearbeitet habe.
Jedoch habe ich festgestellt, dass DIM bei ca ~2 MB Daten schluss macht. Dann empfielt sich REDIM. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 22.02.2007, 21:50 Titel: |
|
|
Es geht nur bis ungefähr 2MB, da dann der Stack zu ende ist, man kann das allerdings beim compilieren angeben, wie groß der sein soll, glaube ich. Ich würde aber Redim verwenden, denn dann kommt das nicht im Stack, sondern im RAM (und man kann auch später die größe ändern). _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 22.02.2007, 21:51 Titel: |
|
|
PMedia's Post == Programmierer's Post
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 22.02.2007, 22:33 Titel: |
|
|
Mit der Ausnahme, dass programmierer noch mehr Hintergrund-Info's geliefert hat.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 22.02.2007, 22:51 Titel: |
|
|
Was kümmert dem Programmierer schon der Stack...
Dim über Stack is sowieso doof, dann kann man weniger Rücksprungadressen per GoSub etc nehmen...
ReDim rulez! xD |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 22.02.2007, 22:53 Titel: |
|
|
Assembler-, C- und C++-Programmierer müssen sich besonders kritische Gedanken über den Stack machen.
Bei Assembler wegen der Hardwarenahen Programmierung; bei C(++) wg. Buffer-Overflows. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 22.02.2007, 22:54 Titel: |
|
|
Das is mir bekannt. Guck ma oben links, da is so ein Blaues Logo.......
Bei ASM musst ich mich auch schon mit dem Stack auseinandersetzen...
hm, naja, ASM is schon etwas "älter" bei mir, als ich noch unbedingt mein OS proggern wollt  |
|
Nach oben |
|
 |
|