@Thorium: Nein.
Du darfst dir mal diese Links durchlesen:
http://www.purebasic.fr/english/viewtop ... +functions
http://www.purebasic.fr/english/viewtop ... procedures
http://www.purebasic.fr/english/viewtop ... executable
kurz: Der Compiler arbeitet zu simpel, dafür ist er schnell.
pbAnalyzer v1.3 [Update+Source]
- 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
@Dige
Hab Dir mal pseudocode wegen UTF-8 erstellt, der sollte mit der IDE und
jaPBe funktionieren.
Sollte man IMHO grundsätzlich so, oder ähnlich machen. Ausserdem
empfielt sich UTF-8 (Unicode in jaPBe) als Standard Speicherformat, da
dieses für Unicode und ASCII executables gleichermassen geeignet ist,
ASCII aber nicht für Unicode unbedingt empfehlenswert.
Hab Dir mal pseudocode wegen UTF-8 erstellt, der sollte mit der IDE und
jaPBe funktionieren.
Code: Alles auswählen
Global FileMode.l = #PB_UTF8
Procedure Read(File.s)
Protected FF.l = ReadFile(#PB_Any, File)
If FF
If ReadStringFormat(FF) = #PB_Ascii : FileMode = #PB_Ascii : EndIf
While Not Eof(FF)
Debug ReadString(FF, FileMode)
Wend
CloseFile(FF)
EndIf
EndProcedure
Procedure Write(File.s)
Protected FF.l = CreateFile(#PB_Any, File)
If FF
WriteStringFormat(FF, FileMode)
WriteStringN(FF, "Bla", FileMode)
; ...
CloseFile(FF)
EndIf
EndProcedure
empfielt sich UTF-8 (Unicode in jaPBe) als Standard Speicherformat, da
dieses für Unicode und ASCII executables gleichermassen geeignet ist,
ASCII aber nicht für Unicode unbedingt empfehlenswert.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Könnte es sein, das du diese größe im ersten Beispiel erreichst, indem Du den JPeg-Decoder und 3D-Lib hinzulinken läßt ?dige hat geschrieben:Ok, tested mal folgenden Code:
Compiliert mit PB4.02 : 47.104 BytesCode: Alles auswählen
Procedure NoUse1() txt.s = "Procedure NoUse1()" InitEngine3D() EndProcedure Procedure NoUse2() txt.s = "Procedure NoUse2()" NoUse1() UseJPEGImageDecoder() EndProcedure Procedure NoUse3() InitSound() a = $11223344 b = $66778899 a + b txt.s = "Procedure NoUse3()" NoUse2() EndProcedure Procedure InUse() txt.s = "Procedure InUse()" EndProcedure InUse()
pbAnalyzer Code:
Compiliert mit PB4.02 : 2.048 BytesCode: Alles auswählen
;- Created with pbAnalyzer v1.1 by DiGe ;{ Structures ;} ;{ Declares Declare InUse ( ) ;} ;{ Functions Procedure InUse() txt.s = "Procedure InUse()" EndProcedure InUse() ;}
Dann hat dies nichts mit den Prozeduren zu tun, sondern damit, wie PB ermittelt welche Libs er dazu linken muss...... (wäre auf alle fälle ein Todo für Fred !).
Ansonsten kannst Du sowas auch über CompilerIf/CompilerEndif abfangen... (hoffe ich zumindest...

Mike
Alle Rechtschreibfehler unterliegen der GPL und dürfen frei kopiert und modifiziert werden.
Ja aber der Compiler müsste doch erkennen das er die beiden garnicht hinzulinken muss da die Funktionen nicht aufgerufen werden.
Edit:
Ach und nicht das jemand kommt und das selbe sagt wie gnozal:
Another possibility is to use a user library instead of an include.
Userlib sind nicht so schön wie Includes da man den Programmfluss bei Includes durch Konstanten und CompilerIfs steuern kann.
Mfg mknjc
Edit:
Ach und nicht das jemand kommt und das selbe sagt wie gnozal:
Another possibility is to use a user library instead of an include.
Userlib sind nicht so schön wie Includes da man den Programmfluss bei Includes durch Konstanten und CompilerIfs steuern kann.
Mfg mknjc
Ich nutze PureBasic 4.02 unter Linux und Windows.
Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
Da der PB Compiler immer noch nicht alle ungenutzten Prozeduren rausschmeisst, mein Preprozessor aber noch keine Macros unterstützt
und ich keine Lust habe das weiterzuentwickeln ...
.. viel Spaß mit dem Quellcode ( zu finden im ersten Posting ) mit der Bitte
sinnvolle Erweiterungen hier zu posten.
und ich keine Lust habe das weiterzuentwickeln ...
.. viel Spaß mit dem Quellcode ( zu finden im ersten Posting ) mit der Bitte
sinnvolle Erweiterungen hier zu posten.
"Papa, ich laufe schneller - dann ist es nicht so weit."