Seite 2 von 3

Verfasst: 31.01.2007 18:04
von edel
Proceduren stehen in ASM-Macros, werden diese nicht aufgerufen landen sie
auch nicht in der Exe. Anders sieht es bei den Variablen in der Procedure aus
, wie z.B. Strings, diese werden trotzdem mit gebacken.

Verfasst: 31.01.2007 18:10
von remi_meier
@edel:

Code: Alles auswählen

declare b()
Procedure a()
  b()
endprocedure
procedure b()
  a()
endprocedure
Bei diesem Code würden beide Procs mitkompiliert, obwohl keine aufgerufen
wird.

@dige:
hört sich gut an. Würde mir was bringen, wenns dann auch unter Linux
läuft, hier hab ich das Cutter-Plugin.

Verfasst: 31.01.2007 18:19
von edel
Da hast du recht. Das macht das ganze wieder sinnlos :cry:

Verfasst: 31.01.2007 18:28
von ts-soft
Test mit PlainText:

Code: Alles auswählen

Procedure Main()
  MessageRequester("","")
EndProcedure

Main()
ergebnis:

Code: Alles auswählen

;- Created with pbAnalyzer v1.0 by DiGe
;{ Structures
;}
;{ Declares
;}
;{ Functions
Main()
;}
log hat geschrieben:;{ Removed Functions
; 001 : Main [ ]
;}
;{ Statistics ( Level | Calls | Name | Parameter )
;}
Mit UTF-8 kommt:
Ereignistyp: Fehler
Ereignisquelle: Application Error
Ereigniskategorie: Keine
Ereigniskennung: 1000
Datum: 31.01.2007
Zeit: 17:26:29
Benutzer: Nicht zutreffend
Computer: TS-COMPUTER
Beschreibung:
Fehlgeschlagene Anwendung pbanalyzer.exe, Version 0.0.0.0, fehlgeschlagenes Modul pbanalyzer.exe, Version 0.0.0.0, Fehleradresse 0x00001f85.

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
Daten:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 70 62 61 ure pba
0018: 6e 61 6c 79 7a 65 72 2e nalyzer.
0020: 65 78 65 20 30 2e 30 2e exe 0.0.
0028: 30 2e 30 20 69 6e 20 70 0.0 in p
0030: 62 61 6e 61 6c 79 7a 65 banalyze
0038: 72 2e 65 78 65 20 30 2e r.exe 0.
0040: 30 2e 30 2e 30 20 61 74 0.0.0 at
0048: 20 6f 66 66 73 65 74 20 offset
0050: 30 30 30 30 31 66 38 35 00001f85
0058: 0d 0a ..
:mrgreen:

Verfasst: 31.01.2007 18:33
von dige
Schreib mal als Workaround ein: als letzte Zeile ...

Ich lade morgen ein Update hoch

Verfasst: 31.01.2007 18:36
von ts-soft
Die Einstellungen, Icon, Versionsinfo, XP-Style usw. sollten auch
berücksichtigt werden, wobei bei der PB-IDE dann noch die cfg-Datei zu
beachten wäre.
Es gibt viel zu tun, packen wirs an :D

Verfasst: 31.01.2007 18:42
von rolaf
Kiffi hat geschrieben:
ts-soft hat geschrieben:Die Hauptprocedure "Main()" ist weg :mrgreen:
der Analyzer entfernt sowohl nicht benutze als auch sinnlose Prozeduren ;-)

Mein Code ist komplett gelöscht worden. :lol:

Grüße ... Kiffi
Hat das was mit deinem momentanen Status zu tun? :lol:

Mein Name ist Hase, ich weis von Nichts. :wink:

Verfasst: 31.01.2007 19:04
von dige
Ok, tested mal folgenden Code:

Code: 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()
Compiliert mit PB4.02 : 47.104 Bytes

pbAnalyzer Code:

Code: Alles auswählen

;- Created with pbAnalyzer v1.1 by DiGe
;{ Structures
;}
;{ Declares
Declare InUse (  ) 
;}
;{ Functions
Procedure InUse()
txt.s = "Procedure InUse()"
EndProcedure
InUse()
;}
Compiliert mit PB4.02 : 2.048 Bytes

Verfasst: 31.01.2007 19:08
von Thorium
Öhm, ist das ein Bug im PBCompiler. Weil es bei mir (PB4.02 für Windows) definitiv der Fall ist das ungenutzte Prozeduren nicht kompiliert werden.

Wollte nur wissen wie groß eine bestimmte Prozedur durchs kompilieren wird. Also hab ich kompiliert aber ohne Aufruf der Prozedur. War halt nur die Prozedur im Source. Und sie wurde definitiv nicht kompiliert.

Verfasst: 31.01.2007 19:08
von dige
ts-soft hat geschrieben:Die Einstellungen, Icon, Versionsinfo, XP-Style usw. sollten auch
berücksichtigt werden, wobei bei der PB-IDE dann noch die cfg-Datei zu
beachten wäre.
Es gibt viel zu tun, packen wirs an :D
*uff* ... ja ... wie gesagt mit jaPBe gehts schon mal ^^