Warum brauche ich die Shared Sources Datei in Smalltalk Dialekten wie Pharo?

8

Die übliche Installation Beschreibungen sagt mir, dass ich Pharo mindestens drei Dateien ausführen muss:

  1. Bilddatei
  2. ändert die Datei
  3. Quelldatei (z. B. PharoV10.sources)

Ich habe Pharo 2 ohne die Quelldatei ausgeführt und ich sah kein Problem. Alle Quellen schienen verfügbar zu sein.

Warum brauche ich die Quelldatei (z. B. PharoV10.sources)?

    
user1801323 05.11.2012, 20:58
quelle

3 Antworten

8

Die Bilddatei enthält nur den kompilierten Code, nicht den ursprünglichen Quellcode. Die Änderungsdatei enthält den Quellcode für das Material, das Sie selbst zum System hinzugefügt haben, aber nicht den Quellcode für vorhandene Systemklassen. Um den Quellcode für vorhandene Systemklassen zu erhalten, benötigen Sie die sources-Datei.

Nachdem das gesagt wurde, kann Smalltalk den Code dekompilieren und etwas erzeugen, was wie Quellcode aussieht, wenn die Quellendatei nicht verfügbar ist. Dieser Code wird richtige Variablennamen, Kommentare und Leerzeichen enthalten. Sie möchten dekompilierten Quellcode wirklich nicht verwenden, damit Sie Zugriff auf die Quelldatei haben.

    
David Buck 06.11.2012 05:32
quelle
6

3 mögliche Erklärungen, versuchen Sie, den Witz zu identifizieren:

  1. Der Browser ist intelligent genug, um Ihnen eine aus den CompiledMethod-Bytecodes rekonstruierte Quelle (Decompiled) anzuzeigen. Tipp: In diesem Fall verlieren Sie alle Kommentare
  2. Es gibt einen Suchpfad für die Quelldateien, und einer befindet sich irgendwo auf Ihrer Festplatte
  3. Pharo ändert sich so schnell, dass jede Quelle jetzt in der .changes-Datei
  4. gefunden wird

Zum Überprüfen von 1. könnten Sie versuchen, Verweise auf Decompiler zu durchsuchen (es gibt ein bisschen zu viele Verwendungen nach meinem eigenen Geschmack).

Zum Überprüfen von 2. könnten Sie mit dem Durchsuchen von Implementoren von #openSourceFiles

beginnen

Zur Überprüfung von 3. könnten Sie dieses Snippet auswerten:

%Vor%     
aka.nice 05.11.2012 21:40
quelle
4

Es ist auch möglich, dass Pharo PharoV10.sources automatisch herunterlädt.

    
Damien Cassou 06.11.2012 08:37
quelle

Tags und Links