Stellen Sie nach dem Erstellen eines Funktionsprototyps zum Erstellen einer DLL in einer befehlsorientierten Programmiersprache die*.c-Datei fertig.

Im Knoten zum Aufruf externer Bibliotheken wird in myshared.c folgender Rumpfcode erzeugt:

/* Rufen Sie die Quelldateien der Bibliothek auf. */

#include "extcode.h"

int32_t avg_num(float a[], int32_t size, float *avg);

int32_t avg_num(float a[], int32_t size, float *avg)

{

/* Fügen Sie den Code hier ein. */

}

Ersetzen Sie /* Fügen Sie den Code hier ein. */ durch den nachfolgenden Funktionscode. Stellen Sie dabei sicher, dass der Code innerhalb der beiden geschweiften Klammern eingefügt wird.

int i;

float sum = 0;

if(a != NULL)

{

for(i=0; i < size; i++)

sum = sum + a[i];

}

else

return (1);

*avg = sum / size;

return (0);

Erforderliche Bibliotheken

In diesem kurzen Beispiel wird die Header-Datei extcode.h für einige einfache Datentypen verwendet. Die Datei extcode.h bietet Zugriff auf LabVIEW-Managerfunktionen für Arbeitsschritte unterschiedlicher Komplexität von der Low-Level-Datenbearbeitung bis hin zu Routinen zum Sortieren und Speichern von Daten. Bei komplexeren DLLs werden Header-Dateien allerdings für alle Bibliotheken benötigt. So muss beispielsweise bei einem DLL-Projekt unter Windows eventuell windows.h einbezogen werden.

Zum Einbinden der LabVIEW-Managerfunktionen in eine DLL muss die LabVIEW-Bibliotheksdatei labviewv.lib zum kompilierten Projekt hinzugefügt werden. Diese Datei ist im Verzeichnis labview\cintools gespeichert.

Die LabVIEW-Managerfunktionen werden für folgende Arbeitsschritte benötigt:

  • Reservieren oder Freigeben von Speicherplatz sowie Größenänderungen von Arrays, Strings oder anderen Datenstrukturen, die mit LabVIEW-Bibliotheken ausgetauscht werden.
  • Arbeiten mit LabVIEW-Pfaden verschiedenen Typs.
  • Arbeiten mit Dateireferenzen innerhalb der Bibliothek.
  • Arbeiten mit einer Support-Manager-Funktion.

Die einzelnen Funktionen sind im Abschnitt LabVIEW-Manager beschrieben.

Nach Fertigstellung der *.c-Datei in einer anderen IDE sollten Sie das Bibliotheksprojekt erstellen.