Exe Größe
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
BamBamBetreff: Exe Größe |
Di, Okt 14, 2008 17:16 Antworten mit Zitat |
|
---|---|---|
Ich habe mal wieder ne Frage:
Je mehr Quelltext ich habe, desto größer wird die Exe, ist ja eigentlich auch logisch, ich dachte aber man könnte das mit Import test.bmx umgehen weil dann die eigentliche Datei kleiner ist und nur auf diese Bibliothek zugreift. Muss ich immer auch die Bibliothek compelieren und bekomme irgendwann ne 20Mb Exe oder gibt es da noch andere möglichkeiten? |
||
Lunatix |
Di, Okt 14, 2008 17:17 Antworten mit Zitat |
|
---|---|---|
Arbeite mit einem Framework und importiere nur das was du brauchst. Mehr kannst du nicht machen, vielleicht noch einen Exe Packer. | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
BamBam |
Di, Okt 14, 2008 17:58 Antworten mit Zitat |
|
---|---|---|
Was mich gerade verunsichert ist, das die meisten andere programme unter 2MB bei der exe haben und meine Exe nun schon 2,5 Mb groß ist und ich bestimmt nicht mehr Code habe als die anderen. Was genau könnte man da ändern damit die Exe nicth einfach größer wird? | ||
Progger93 |
Di, Okt 14, 2008 18:00 Antworten mit Zitat |
|
---|---|---|
schalt mal den Debugger beim compilen aus. Das wirkt wahre Wunder
MFG Progger93 |
||
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT |
Farbfinsternis |
Di, Okt 14, 2008 18:01 Antworten mit Zitat |
|
---|---|---|
Lerne lesen!
Verwende ein Framework und importe _dann_ nur die Module die Du benötigst. Dann wird auch die Exe kleiner. |
||
Farbfinsternis.tv |
BamBam |
Di, Okt 14, 2008 18:06 Antworten mit Zitat |
|
---|---|---|
Mit einem Framework meinst du ein Set an BMX dateien? die das tun was ich will?
Das mit dem Debugger ausschalten war nen guter Typ nun ist die Exe nur noch 1Mb statt 2,5MB groß danke für den Tip! |
||
- Zuletzt bearbeitet von BamBam am Di, Okt 14, 2008 18:08, insgesamt einmal bearbeitet
FOODy |
Di, Okt 14, 2008 18:08 Antworten mit Zitat |
|
---|---|---|
Nein das Schlüsselwort:
Code: [AUSKLAPPEN] SuperStrict
Framework brl.standardio Print "Hello World!" EDIT: Btw das geht nur in der "Haupt"-Quelltext Datei. Wenn du eine *.bmx importierst, musst/darfst du bei der importierten *.bmx keinen Framework definieren. |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
BamBam |
Di, Okt 14, 2008 18:11 Antworten mit Zitat |
|
---|---|---|
Ok dann weiss ich leider zu wenig über ein Framework, kann ich sowas aus meiner eigenen bmx datei erstellen? weil einfach nur Framework statt import davor funktioniert nicht!
Import "Mod/tangram/tangram.bmx" |
||
FOODy |
Di, Okt 14, 2008 18:19 Antworten mit Zitat |
|
---|---|---|
Framework akzeptiert nur Module.
D.h. Framwork ModuleScope.ModuleName Notfalls kannst du einfach das Module "brl.blitz" als Framework benutzen, da es so oder so importiert wird. Grüße, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
BamBam |
Di, Okt 14, 2008 18:27 Antworten mit Zitat |
|
---|---|---|
Was genau zeichnet ein Modul aus ? Wenn ich meine text.bmx in den ordner der Module in test.mod schiebe, sagt er mir immer das ein Interface fehlen würde. | ||
FOODy |
Di, Okt 14, 2008 18:48 Antworten mit Zitat |
|
---|---|---|
Das Module müsstest du dann natürlich auch als solches kompilieren.
Am einfachsten ist es wenn man einfach "Build modules" macht in der MaxIDE. (Menü: Program -> Build Modules) Wenn man es aber manuell machen möchte, kann man in den BlitzMax/bin Ordner gehen bzw mit der Konsole dahin, und dann ein "bmk makemods [DeinModuleScope[.DeinModuleName]]" (das in [] ist optional; "bmk makemods" würde einfach alle Module neu bauen, in denen Änderungen vorgenommen wurden) [edit] Mehr dazu gibt es hier: https://www.blitzforum.de/foru...hp?t=22260 Grüße, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
BladeRunnerModerator |
Di, Okt 14, 2008 19:08 Antworten mit Zitat |
|
---|---|---|
ein Modul ist was anderes als dein Programm. Ein Modul ist quasi eine Ansammlung nützlicher Befehle und Funktionen die du in dein Programm einbauen kannst.
Alle mit BMax mitgelieferten Befehle sind in solchen Modulen drin, und standardgemäß werden diese alle beim kompilieren der .exe beigefügt. Der Befehl Framework hebt dieses generelle Beifügen auf und fügt zuerst mal nur das mit ihm genannte Modul bei. Sollten noch andere benötigt werden können sie mit IMPORT beigefügt werden. So erreicht man dass nur die Befehle und Funktionen mitkompiliert werden die das Programm auch wirklich braucht, und so sind durchaus .exe-Größen von <50kb möglich. Such auf bb.com mal nach dem Framework Assistant. Ein sehr nützliches Tool welches dir meist richtig erkennt welches Framework Du erstellen musst um deine exe so klein als möglich zu halten. EDIT: Hier isser: http://homepage.ntlworld.com/config/fa/fa.zip |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
BamBam |
Di, Okt 14, 2008 19:36 Antworten mit Zitat |
|
---|---|---|
Vielen Danke für eure Hilfe, alles gar nicht so einfach wie es aussieht | ||
Dreamora |
Di, Okt 14, 2008 20:52 Antworten mit Zitat |
|
---|---|---|
Ausser man schaut einfach Mal rasch in die Hilfe was du nach der ersten Antwort eigentlich hättest tun sollen wenn dir der Befehl Framework nichts sagt. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
klin |
Di, Okt 14, 2008 23:17 Antworten mit Zitat |
|
---|---|---|
benutz Framework assistent (http://homepage.ntlworld.com/config/fa) benutz ich auch immer. Der sagt dir immer, was du in Framework eintragen musst.
Und Module sind die Befehle die du in Blitzmax eintippst. Also in jedem Modul, ist jeweils ne abteilung für bestimmte befehle. Aber wie gesagt... wenn du mit Framework nicht klar kommst, benutz den assistenten... Der ist echt gut. MFG Klin P.S. Das Modul sieht du auch in der help (F1)... dort steht ganz oben z.B. brl.solala. Das ist der Modul name. |
||
Lunatix |
Mi, Okt 15, 2008 3:37 Antworten mit Zitat |
|
---|---|---|
Toll nachgeplappert Aber Hauptsache was gesagt... dein Post ist vollkommen Unnötig, da Bladerunner eine wunderbare Erklährung abgab. Wenn man schon Antwortet, sollte man zumindest das Thema mal komplett Überflogen haben...
Und falls du damit noch nicht vertraut gemacht worden bist, BamBam: Klicke auf Erweiterte Suche, tippe "Framework", wähle die Passende Kategorie aus und erfreu dich an dem tollen Wissen, was dir vermittelt wird. Selbiges funktioniert auch auf Blitzbasic.com oder in der Forenhilfe... =) Was ich dir auch noch ans Herz legen kann, wenn du wirklich mit BlitzMax gut programmieren möchtest: Versuche, bei deinen Projekten den Framework Assistant nicht zu nutzen, sondern merke dir, welche Module du benötigst. Zum lernen ist da FA dort ganz gut, bauchst du jedoch mal Hilfe zu einem Befehl, und du weisst, in welchem Modul dieser Befehl liegt, kannst du rasch das Modul öffnen und dir den Befehl ansehen. Das ist, wie ich finde, sehr nützlich beim Programmieren. |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
klin |
Mi, Okt 15, 2008 20:29 Antworten mit Zitat |
|
---|---|---|
Nun war dein eintrag unnötig...
und ausserdem, weiß ich welches Modul zu welchem gehört! Doch da ich wohl leider zu faul bin, benutzter ich FA damit ich nicht die einzelnen auflisten muss. Und uasserdem kann BamBam selbst entscheiden, auf er die auflisten möchte oder FA benutzt... Das macht keinen unterschied, ob er ein guter programmierer ist oder ein schlechter. MFG Klin |
||
Lunatix |
Mi, Okt 15, 2008 21:38 Antworten mit Zitat |
|
---|---|---|
Nun, mein Beitrag behandelte deinen, sowie auch das Thema. Folglich ist er nicht Unnötig.
Auch habe ich nie gesagt, das du nicht wüsstest, welches Modul wohin gehört, das ist eigendlich vollkommen Egal. Noch dazu habe ich BamBam nichts Befohlen, ich habe ihm nur diesen Tipp gegeben, da man, wenn man weiss, welches Modul welchen Befehl enthält, auch einen Befehl mal schnell nachschauen kann. Das ist sehr nützlich, wenn man mit BlitzMax grössere Projekte oder Module etc. Programmiert. Und für mich gehört das zum guten Programmieren dazu, da man, wenn man sich den Befehl anschaut, auch wissen sollte, was er Bewirkt. Wie er funktioniert etc. Ist sehr nützlich. |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
XeresModerator |
Mi, Okt 15, 2008 21:52 Antworten mit Zitat |
|
---|---|---|
Selbst mit einem Framework kann man die exe mit UPX noch um ein ansehnliches Stück verkleinern. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
BamBam |
Do, Okt 16, 2008 22:58 Antworten mit Zitat |
|
---|---|---|
Ich habe hier in keinster Weise das Gefühl, dass mir irgend jemand etwas befiehlt und danke nochmal für eure rege Hilfe, die mir wirklich immer sehr hilft. Es tut mir leid wenn ich dies alles auch aus einem Hilfe hätte bekommen können, doch fällt es mir nicht immer so leicht an Hand von einer Hilfe all diese Inhalte zu verstehen. Wenn einem jemanden das in einem Forum erklärt wird es dann doch meistens deutlicher. | ||
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group