importieren Es gibt einen Mechanismus, aber es ist nicht einfach für diesen Zweck. Sie können einen subsystem_pkg
erstellen, der top_pkg
importiert. Dann können Sie export
alle Symbole importiert von top_pkg
, so dass sie erscheinen, als ob sie direkt innerhalb subsystem_pkg
deklariert wurden Normalerweise sind nur die Symbole in einem Paket deklariert, was zum Importieren verfügbar ist, nicht was das Paket importiert hat (manchmal eine Verkettung von Einfuhren). Der Befehl export
kettet die Importe.
Was dies für diesen Zweck schwierig macht, ist die Art, wie Wildcarding für Import und Exporte funktioniert. Jedes Symbol, das Sie verketten möchten, muss explizit im Verkettungspaket erscheinen. Zum Beispiel
package top_pkg;
int a,b,c,d;
endpackage
package subsystem;
import top_pkg::*;
import top_pkg::b;
export top_pkg::*;
export top_pkg::c;
int e = d;
endpackage
Die erste import
Aussage sagen alle Symbole in top_pkg Kandidaten für die Einfuhr machen; Es importiert nichts. Die zweite Importanweisung importiert explizit b
. Die erste export
Anweisung besagt, jedes Symbol zu exportieren, das aus top_pkg
importiert wurde, das zu diesem Zeitpunkt nur b
ist. Die zweite export
-Anweisung importiert implizit und exportiert dann explizit c
. Die letzte Anweisung bewirkt einen impliziten Import von d
sowie einen impliziten Export 'd'. Wenn Sie subsystem_pkg
importieren, erhalten Sie die Symbole b, c und d von top_pkg
sowie das lokal deklarierte `e.
Danke Dave. Ich entschied mich, eine separate Paketdatei zu verwenden, die die Dateien enthielt, die ich speziell brauche – noobuntu
Das würde funktionieren, solange niemand beide Pakete importiert und keine Kommunikation zwischen den beiden Paketen besteht. Siehe http://go.mentor.com/package-import-versus-include –