INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Gewisse Unsichehreiten beim richtigen Umgang mit Clustern in Ausblick auf externen Co



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.04.2011, 09:13 (Dieser Beitrag wurde zuletzt bearbeitet: 04.04.2011 09:16 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Gewisse Unsichehreiten beim richtigen Umgang mit Clustern in Ausblick auf externen Co
Grundsätzlich ist C in dieser Hinsicht sehr flexible um nicht zu sagen undeutlich.

Dein Vorbild:

KSEcatDataVarInfo* vars[1];

ist ausserhalb jeglichen Kontextes undeutlich zu interpretieren und eigentlich auch nur durch Dokumentation oder entsprechende Codebeispiele (die testbar funktionieren) eindeutig festzulegen.

Es geht um eine Variablendeklaration und dabei wird ein Pointer angelegt auf ein Array, das eventuel, möglicherweise, vielleicht, je nach Lust und Laune, eines, zwei, mehr oder kein Element enthalten kann. In C ist ein Pointer einfach ein Pointer.

Das Ganze liesse sich auch so schreiben:

KSEcatDataVarInfo** vars;

und wäre qua C syntax equivalent und ohne Probleme aneinander zuweisbar. Die einzige wirkliche Einschränkung in C ist der Datentyp des Pointers selber (KSEcatDataVarInfo), der Level der Referencierung, und wenn der Pointer als const deklariert wird, was bedeutet dass dieser Pointer nach einer ersten Initialisierung nicht mehr verändert werden kann.

C++ hat da ein paar weitere Syntaxfeatures hinzugefügt und stellt sich ein klein wenig (aber kaum nennenswert) strikter auf.

Ein void Pointer is auch einfach ein Pointer auf irgendwas. Gleiches Problem wie oben, aber die Einschränkung des Datentyps des Pointers entfällt komplet. Ein void Pointer is kompatibel mit jedem anderen Pointer, ob mit oder ohne Datentyp.

In LabVIEW ist ein void Pointer als Funktionsparameter einfach ein pointersized Integer, als Element in einer Struktur hauptsächlich viel Mühe, Schweiss und Kopfzerbrechen. Für mich ist jeder Pointer innerhalb einer Struktur auch gleich der Punkt wo ich schon lange jeglichen LabVIEW Diagramvodoo aufgebe und direkt in C eine DLL schreibe die das Ganze in viel LabVIEW-freundlichere Parameter umsetzt.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Gewisse Unsichehreiten beim richtigen Umgang mit Clustern in Ausblick auf externen Co - rolfk - 04.04.2011 09:13

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  externen Code aus Matlab/Simulink auf cRio nutzen nator 4 11.899 27.07.2016 12:24
Letzter Beitrag: nator
  Absturz und fehler bei aufrufen einer externen dll Georg26 3 6.103 18.07.2011 09:45
Letzter Beitrag: Georg26
  Einbinden externen Code mit unbekannter Parameterstruktur ghostwhisperer 12 11.370 21.12.2009 09:24
Letzter Beitrag: rolfk
  Externen Code (.exe) ansteuern TerraX 4 5.838 12.05.2009 09:15
Letzter Beitrag: TerraX
  Über externen Code Interface Array zurückbekommen? dr.smirnoff 7 7.513 13.05.2005 10:32
Letzter Beitrag: didierj

Gehe zu: