31. august 2006 - 19:24Der er
8 kommentarer og 1 løsning
Kald af C#-kode: DLL eller program?
Hej,
I en funktion i en C++-DLL, har jeg brug for at køre noget C#-kode. Jeg laver selv begge dele, men begge dele skal laves i henholdsvis C++ og C#. Jeg har altså brug for at C++-delen kalder C#-delen.
Jeg har siddet og rodet med at få det til at virke at kalde C# som DLL, men det går ikke helt. Og så kom jeg til at tænke på, hvad fordele og ulemperne egentlig er, hvorvidt om C# er en DLL eller et program? Jeg kunne ikke komme i tanke om det, og det er noget nemmere at kalde et eksternt program fra C++ end en C#-DLL. Så kort og godt: pros'n'cons?
Jeg tror ikke jeg har gjort det klart nok, hvad jeg egentlig ønsker svar på: jeg vil kort og godt bare vide, om det ikke er "det samme" om C++-DLL'en kalder et C#-program eller en C#-DLL? Altså jeg ved godt det laves på vidt forskellige måder, men er der nogen forskel i driftsikkerhed, hastighed eller andre ting, jeg bør overveje? Ellers er det jo klart nemmest bare at få C+-DLL'en til at kalde et C#-program.
Mit udgangspunkt er en DLL i C++ (som jeg selv laver). Herfra har jeg to valg - jeg skal bare finde ud af, hvilket et af dem, jeg skal tage - og hvad fordelene/ulemperne ved dem er: 1) Kalde en funktion i en DLL lavet i C# 2) Kalde et program lavet i C#
De skal som sådan ikke interagere, jeg har blot brug for at få kørt den C#-funktion, når C++-DLL kaldes.
Okay, så i og med det er en del nemmere og faktisk også giver færre fejlkilder fordi man undgår COM-wrapningen, så er det helt okay at lave et C#-program, der bliver kaldt af C++-DLL'en?
Godt så. Det mente jeg nok - men du kender jo det, at når noget er indelysende kan der godt være nogle skjulte ting, som man ikke lige har tænkt på. Derfor spurgte jeg :-)
Tak for den hurtige respons. Læg venligst et svar, så du kan få lidt point :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.