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 

64Bit DLL mit Wizard importieren



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!

24.08.2011, 13:14 (Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2011 13:37 von pimbolie1979.)
Beitrag #1

pimbolie1979 Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Jun 2005

2010
2006
kA

23xxx
Deutschland
64Bit DLL mit Wizard importieren
Hallo @ all,

ich habe eine DLL und das dazugehörige H-File. Mit Hilfe des DLL-Import-Wizards habe ich bis jetzt immer die DLL importiert. Dies jedoch nur unter Windwos XP (32Bit)

Jetzt benutze ich ein 64Bit Windows 7 Betriebssystem und Labview 2010 64Bit. Zudem will ich jetzt eine 64Bit DLL importieren. Hierzu verwende ich wieder den Wizard. Dann wähle ich erneut meine DLL und mein H-File und erstelle eine Bibliothek. Bis jetzt habe ich keinen Präprozessorbefehl verwendet. Das erstellen der Bibliothek erfolgte ohne Fehler. Wenn ich jedoch die Funktionen verwenden möchte erzeugte diese einen Fehlercode (ungültiges Argument).

Mir ist aufgefallen das die Datentypen immer noch 32Bit sind. Wenn ich die Datentypen durch 64Bit Datentypen manuell austausche dann bekomme ich keine Fehlermeldung mehr.

Demnach muss ich dem Wizard mitteilen das es sich um ein 64Bit Betriebssystem handelt nur weis ich leider nicht den passenden Präprozessorbefehl.


Ich poste am besten mal eine Funktion aus der DLL:


extern cudaError_t cudaMalloc(void **devPtr, size_t size);

extern cudaError_t cudaMemcpy(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind);


So viel habe ich bis jetzt in Erfahrung gebracht: Der Datentype size_t ist ein Systemspeziffiser Datentype. Jetzt ust halt die Frage wenn ich ein 64Bit Betriebssystem habe ist der Datentype auch 64Bit groß

und was ist mit void ** devPtr ????





Ich habe mal die stddef.h Datei geöffnet. Dort ist der Typedef definiert. Ich habe eine Labview 2009 32 Bit Version installiert und eine Labview 2010 64Bit Version. Jedoch finde ich im Labview 2010 verzeichnis keine stddef.h Datei sondern nur im Labview 2009 Ordner

In diesem Verzeichnis habe ich die stddef.h gefunden

C:\Program Files (x86)\National Instruments\Shared\LVDB\include\ansi


Und dies steht in der Datei drin:

#ifndef _SIZE_T_DEFINED
#define _SIZE_T_DEFINED
#ifdef _NI_mswin64_
typedef unsigned __int64 size_t;

#else
typedef unsigned int size_t;
#endif
#endif

Also muss ich den Compilerschalter _NI_mswin64_ setzen?

Warum gibt es keine stddef.h mehr unter Labview 2010?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
64Bit DLL mit Wizard importieren - pimbolie1979 - 24.08.2011 13:14

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  dll übers Netzwerk importieren wrock 1 4.840 15.02.2015 22:46
Letzter Beitrag: teegee
  DLL Datein in LabVIEW 7.1 importieren infester 3 4.532 14.08.2008 09:14
Letzter Beitrag: rolfk
  Importieren der Microsoft Foundation Class(MFC) Bibliothek? Swift 2 4.778 20.06.2008 10:52
Letzter Beitrag: Swift
  dll importieren mobadig 4 6.048 10.04.2008 18:28
Letzter Beitrag: jg

Gehe zu: