Laden...

C# und Header-Dateien

Erstellt von t-master vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.186 Views
T
t-master Themenstarter:in
179 Beiträge seit 2007
vor 17 Jahren
C# und Header-Dateien

hi
ich hab eine header-datei einer c dll, die ich gerne für mein projekt verwenden würde
ich weiß, dass es #include unter c# nich gibt
gibts dafür noch ne andere möglichkeit?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo t-master

die Header-Dateien brauchst du nicht und kannst du auch nicht verwenden. Du kannst die Funktionen mit ==> DllImport importieren. Konstanten und Strukturen musst du im C#-Code selbst passenden zu den Definitionen in der Header-Datei erneut definieren.

herbivore

T
t-master Themenstarter:in
179 Beiträge seit 2007
vor 17 Jahren

öhm kannste mir mal n beispiel dazu schreiben?

X2BC_EXPORT int X2BCAPI X2BC_BOB2BOD(const char *pszFileName,
const char *pszOutFileName);
49.485 Beiträge seit 2005
vor 17 Jahren

Hallo t-master,

nö, warum, wenn es doch Beispiele in der :rtfm: Doku gibt. Der Pfeil vor dem DllImport hieß, dass du danach suchen sollst. Siehe auch www.pinvoke.net .

herbivore

T
t-master Themenstarter:in
179 Beiträge seit 2007
vor 17 Jahren

😁
okok
das mit dem dll import hab ich inzwischen fast raus
nur ich hab jez z.b. diese zeile


#define X2BC_FAILED(code) ((X2BC_SEVERITY(code) & X2BC_SEV_ERROR) > 0)

was mach ich damit (außer ignorieren ^^)

T
512 Beiträge seit 2006
vor 17 Jahren

Das ist nur ein Makro. Wenn du das benutzen willst, kannst du leicht ne Funktion schreiben, die das gleiche macht. Wenn du es nicht benutzen willst, dann ignoriers einfach.

e.f.q.

Aus Falschem folgt Beliebiges

T
t-master Themenstarter:in
179 Beiträge seit 2007
vor 17 Jahren

und wie kann ich diesen mit #define definierten variablen (oder was auch immer die sind) n wert zuweisen?

6.862 Beiträge seit 2003
vor 17 Jahren

Gar nicht. Das Define brauchst du imo auf C# Seite auch gar nicht.

Das Define wurde ja schon in dem C Projekt verwendet das du in kompilierter Form vorliegen hast. Nur dort gibts das Define auch nicht mehr da nen Define nichts weiter als dumme Textersetzung ist, sprich was dort auf C Seite mal im Define stand für nen Wert, wurde schon längst konkret an die Stelle im Code eingesetzt.
Define ist ne Compiletime Sache, die schon längst erledigt ist wenn du die Dll benutzt.

Baka wa shinanakya naoranai.

Mein XING Profil.