LabVIEWForum.de
Dynamisch Speicher in einer DLL reservieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Dynamisch Speicher in einer DLL reservieren (/Thread-Dynamisch-Speicher-in-einer-DLL-reservieren)



Dynamisch Speicher in einer DLL reservieren - DarthZiu - 08.06.2006 16:08

Hi Leute,
nach ewigem Wühlen in den NI Dokus bin ich immer noch nicht schlauer.

Ich suche nach einer Möglichkeit, in einer C/C++ DLL dynamisch Speicher zu allokieren, ohne vorher die Größe in LabVIEW zu wissen.

Diesen Mechanismus benötige ich für verschiedene Datentypen (int-Arrays (auch mehrdimensional), Arrays aus Strings, usw.)

In den NI-Dokus steht zwar, dass man mit den Memory Managern der cintools solche Sachen machen kann. Aber dank der genialen *hüstel* Dokumentation von NI bekomm ich das irgendwie nicht hin.

Weiß jemand Rat?


Dynamisch Speicher in einer DLL reservieren - A.Berndsen - 08.06.2006 16:22

Hallo DarthZiu,

ich bin zwar überhaupt kein Experte was DLL's anbelangt, aber mit der Initialisierung von Arrays solltest Du den Speicher meiner Meinung nach Reservieren können.
VI Initialize Array (Array initialisieren) auf der Array Palette. Der Anschluß Dimension ist etwas verwirrend, der bedeutet hier die Anzahl der Elemente.

Gruß
Andreas


Dynamisch Speicher in einer DLL reservieren - cb - 08.06.2006 17:28

' schrieb:Hi Leute,
nach ewigem Wühlen in den NI Dokus bin ich immer noch nicht schlauer.

Ich suche nach einer Möglichkeit, in einer C/C++ DLL dynamisch Speicher zu allokieren, ohne vorher die Größe in LabVIEW zu wissen.

Diesen Mechanismus benötige ich für verschiedene Datentypen (int-Arrays (auch mehrdimensional), Arrays aus Strings, usw.)

In den NI-Dokus steht zwar, dass man mit den Memory Managern der cintools solche Sachen machen kann. Aber dank der genialen *hüstel* Dokumentation von NI bekomm ich das irgendwie nicht hin.

Weiß jemand Rat?

naja, das ist ja auch keine Sache von LabVIEW, sondern eine Aufgabe, die du in deiner DLL programmieren musst. die CIN-Tools stellen eigentlich nur die notwendigen Werkzeuge zur Verfügung um die LabVIEW-Datentypen in deinem externen Code verwenden zu können.

Grüße
CB


Dynamisch Speicher in einer DLL reservieren - eg - 08.06.2006 17:43

Ich habe eigentlich gedacht man muss immer Speicher in LV allokieren und an die DLL weitergeben.
Nur ich habe immer gewusst wieviel Speicher ich brauche.
In deinem Fall würde ich einfach ein wenig mehr allokieren als benötigt und die Sache ist erledigt.

Gruss


Dynamisch Speicher in einer DLL reservieren - cb - 08.06.2006 20:22

' schrieb:Ich habe eigentlich gedacht man muss immer Speicher in LV allokieren und an die DLL weitergeben.
Nur ich habe immer gewusst wieviel Speicher ich brauche.
In deinem Fall würde ich einfach ein wenig mehr allokieren als benötigt und die Sache ist erledigt.

Gruss

gut geht auch, ist aber schwierig, weil man dann ja mit dem LabVIEW-eigenen Memory-Management arbeiten muss, und ob DAS gut geht?