Wissen Sie, wie kann ich das gleiche Konzept entwerfen, das gsl verwendet, um Benutzern den Wechsel zwischen verschiedenen cblas-Implementierungen zu ermöglichen?Wie genau hat gsl die alternative cblas-linking-Funktion erreicht?
AFAIK, cblas-Abhängigkeit, von der gsl abhängt, sollte in gsl-Bibliothek fest codiert sein, wenn gsl selbst gebaut wurde.
2.2.2 Verknüpfung mit einer alternativen BLAS Bibliothek
Die folgende Befehlszeile zeigt, wie Sie würde die gleiche Anwendung mit einer alternativen cblas Bibliothek libcblas.a verknüpfen,
$ gcc example.o -lgsl -lcblas -lm
Für die beste Leistung Eine optimierte plattformspezifische CBLAS-Bibliothek sollte für -lcblas verwendet werden. Die Bibliothek muss dem Standard CBLAS entsprechen. Das ATLAS-Paket enthält eine portable Hochleistungs-BLAS -Bibliothek mit einer CBLAS-Schnittstelle. Es ist freie Software und sollte für jede Arbeit installiert werden, die schnelle Vektor- und Matrixoperationen erfordert. Die folgende Befehlszeile mit der ATLAS-Bibliothek verbinden wird und seinen cblas Schnittstelle,
$ gcc example.o -lgsl -lcblas -latlas -lm
Wenn die ATLAS-Bibliothek in einem Nicht-Standard-Verzeichnis installiert wird, um die -L Option verwenden, um den Suchpfad hinzuzufügen, wie oben beschrieben.
Weitere Informationen zu BLAS-Funktionen finden Sie unter BLAS-Unterstützung.
Ja, Sie sind richtig. Ich war ein wenig verwirrt, wie ich die gsl-Bibliothek erstellen konnte, ohne explizit auf die Bibliothek von blas zu verweisen und sie auf die Anwendungsentwicklungszeit zu verschieben. Ich habe einen schnellen Test gemacht, um Ihren Anspruch zu bestätigen und es funktioniert. Vielen Dank. –