Einführung in EGLAR-Dateien und binäre Projekte

Eine EGLAR-Datei (EGL-Archivdatei) ist eine komprimierte Datei, die die kompilierte Zwischendarstellung (Intermediate Representation - IR) von einem oder mehreren EGL-Abschnitten enthält.

Aus Abschnitten, die in der EGLAR-Datei gespeichert sind, können Sie Ausgabe generieren und implementieren. Außerdem können Sie diese Abschnitte verwenden, um Verweise aus dem EGL-Quellcode aufzulösen, der nicht Bestandteil der EGLAR-Datei ist. Die EGLAR-Datei könnte beispielsweise einen Schnittstellenabschnitt enthalten und Sie könnten unter Verwendung der Definition eine auf diesem Abschnitt basierende Variable erstellen. Außerdem können die in der EGLAR-Datei definierten Widgettypen in der Palette angezeigt werden, die vom EGL-Rich-UI-Editor verwendet wird.

EGLAR-Dateien bieten allgemein die folgenden Vorteile:
Sie erstellen eine EGLAR-Datei, in dem Sie ein Projekt mit einem der beiden folgenden Verfahren exportieren:
In der folgenden Tabelle sind einige Unterschiede zwischen diesen beiden Methoden aufgeführt:
Tabelle 1.
Funktion Binäres Projekt Eigenständige EGLAR-Datei
Der Quellcode ist verfügbar (schreibgeschützt). Ja Nein, außer bei eigenständigen Funktionen
Step-Into-Aktionen für den Code sind im EGL-Debugger möglich. Ja Nein
Das EGL-Software-Development-Kit (EGLSDK) kann auf den Code zugreifen. Nein Ja

Im nächsten Abschnitt sind Details für die beiden Varianten beschrieben.

Eigenständige EGLAR-Dateien

Eine eigenständige EGLAR-Datei enthält IR-Dateien sowie andere Ressourcen wie Grafikdateien und generierte Ausgabe. Abgesehen von einer kleinen Ausnahme, nämlich möglichen eigenständigen Funktionsabschnitten, kann eine EGLAR-Datei keinen Quellcode enthalten. Das Fehlen von Quellcode bedeutet, dass der Debugger den Code überspringt, die IR-Dateien also wie generierte Ausgabe behandelt.

Anmerkung: Personen, die eine EGLAR-Datei empfangen, können die eigenständigen Funktionsabschnitte anzeigen. Solche Abschnitte finden sich am häufigsten in Code, der aus VisualAge Generator migriert wurde.
Um auf eine eigenständige EGLAR-Datei zuzugreifen, legen Sie den EGL-Buildpfad eines Projekts für den Zugriff auf die Datei fest. Alternativ können Sie die eigenständige EGLAR-Datei auch in ein nicht binäres Projekt importieren (nachfolgend 'Projekt B' genannt). In diesem zweiten Fall wird eine EGLAR-Datei in mancherlei Hinsicht wie ein Projekt behandelt:
  • Die EGLAR-Datei ist für anderen Code in demselben Projekt (Projekt B) nur dann verfügbar, wenn die Datei in den projekteigenen EGL-Buildpfad aufgenommen wird.
  • Die EGLAR-Datei ist für ein anderes Projekt (Projekt A) verfügbar, falls die EGLAR-Datei explizit in den EGL-Buildpfad von Projekt A aufgenommen wird. Diese Option ist mit dem Zugriff auf die EGLAR-Datei aus dem Dateisystem vergleichbar. Projekt A hat in diesem Fall ungeachtet der Einstellungen von Projekt B Zugriff auf die Datei, sofern sich beide Projekte in demselben Arbeitsbereich befinden.
  • Der vollständige Projektcode für Projekt B (inklusive der EGLAR-Datei) ist für ein anderes Projekt (Projekt A) nur dann verfügbar, wenn im EGL-Buildpfad für Projekt B angegeben ist, dass die Datei 'exportiert' werden soll und wenn der EGL-Buildpfad für Projekt A so definiert ist, dass Projekt A auf Projekt B zugreifen kann.

Details darüber, wie Sie den Buildpfad festlegen und den Code in der EGLAR-Datei indirekt verfügbar machen, finden Sie unter 'EGL-Buildpfad bearbeiten'. Ausführliche Informationen zum Festlegen der Option eglpath für den Zugriff auf die EGLAR-Datei aus dem EGL-Software-Development-Kit finden Sie unter 'EGLSDK'.

Eine eigenständige EGLAR-Datei, auf die aus einem EGL-Buildpfad verwiesen wird, steht für die Abschnittsauflösung oder Generierung zur Verfügung. Falls die Datei nicht importiert wurde und Sie Abschnitte aus dieser Datei generieren wollen, ist kein Standardbuilddeskriptor verfügbar und Sie müssen in diesem Fall den Generierungsassistenten verwenden. Wurde die Datei jedoch importiert, steht ein Standardbuilddeskriptor zur Verfügung, der im direkt übergeordneten Projekt, Paket oder Ordner angegeben ist.

Die Verwendung einer eigenständigen EGLAR-Datei hat einige Auswirkungen auf den Suchmechanismus der Workbench (Menüoption Suchen > Suchen):
  • Die EGL-Suche ermittelt Abschnitte und andere Elemente, die sich im Arbeitsbereich in IR-Dateien befinden. Der Import einer EGLAR-Datei wirkt sich auf diese Suche aus.
  • Die Dateisuche ermittelt Quellendateien im Arbeitsbereich. Der Import einer EGLAR-Datei hat keinen Einfluss auf diese Suche, selbst dann, wenn die Datei Quellcode für eigenständige Funktionsabschnitte enthält.

Ein Buildpfadverweis auf eine EGLAR-Datei im Dateisystem beeinflusst weder die EGL-Suche noch die Dateisuche. Weder die Funktion 'Abschnittsliste' noch die Funktion 'Abschnittsverweis' der Workbench ist in Bezug auf EGLAR-Dateien verfügbar.

Binäre Projekte

Eine Exporttask konfiguriert aus einem nicht binären Projekt ein binäres Projekt Diese Task nimmt die EGLAR-Datei in den Buildpfad des binären Projektes auf und exportiert die EGLAR-Datei, damit Projekte, die auf das binäre Projekt verweisen, auf die EGLAR-Datei zugreifen können.

Ein binäres Projekt sollte nur eine einzige EGLAR-Datei enthalten. Diese EGLAR-Datei enthält ausschließlich IR-Dateien. Das Projekt enthält immer Quellcode und kann Ressourcen wie generierte Ausgabe und Grafikdateien umfassen.

Das Vorhandensein von Quellendateien macht die folgenden Funktionen verfügbar:
  • Sie können die Quellendateien im EGL-Editor öffnen. Auf den schreibgeschützten Quellcode können Sie zugreifen, indem Sie entweder die Quellendatei direkt öffnen oder auf die zugehörige IR-Datei klicken.
  • Der Debugger kann Step-Into-Aktionen für die Abschnitte in den Quellendateien ausführen.

Auf ein binäres Projekt greifen Sie zu, indem Sie das Projekt in Ihren Arbeitsbereich importieren. Das binäre Projekt steht dann für die Generierung und Implementierung zur Verfügung. Außerdem können Sie den EGL-Buildpfad eines anderen Projekts so definieren, dass zur Abschnittsauflösung auf das binäre Projekt zugegriffen wird.

Details darüber, wie Sie den Buildpfad festlegen und den Code im binären Projekt indirekt verfügbar machen, finden Sie unter 'EGL-Buildpfad bearbeiten'. Für das EGL-Software-Development-Kit (EGLSDK) sind Projekte nicht verfügbar.

Falls Sie Abschnitte aus einem binären Projekt nicht mit dem Generierungsassistenten generieren, ist der Builddeskriptor der Standardbuilddeskriptor im binären Projekt.

Für den Fall, dass die IR-Dateien im binären Projekt erneut erstellt werden müssen, aktualisieren Sie das Quellenprojekt, auf dem das binäre Projekt basiert, und exportieren Sie dieses Quellenprojekt erneut als binäres Projekt. Diese Aktion kann erforderlich werden, falls sich das binäre Projekt auf die Abschnitte stützt, die in einem anderen Quellenprojekt gespeichert sind, und einige Aspekte dieser Abschnitte geändert wurden.

Binäre Projekte werden sowohl in EGL-Suchen als auch in Dateisuchen einbezogen.

Es gelten die folgenden Einschränkungen:
  • Verweisen Sie in einem EGL-Buildpfad auf ein binäres Projekt als Projekt. Verweisen Sie nicht direkt auf die eingebettete EGLAR-Datei.
  • Binäre Projekte sind zwar im Allgemeinen schreibgeschützt, können jedoch mit einigen Workbenchfunktionen aktualisiert werden. Aktualisieren Sie in keinem Fall ein binäres Projekt, da dies wahrscheinlich unerwartete Ergebnisse nach sich zieht. Importieren Sie beispielsweise keine eigenständige EGLAR-Datei in ein binäres Projekt.

Feedback