Hallo an alle Forum-Mitglieder,
ich habe früher viele Jahre lang VB6 programmiert und wollte nun seit einigen Jahren Programmierpause wieder in das Thema einsteigen...jedoch in Visual Basic 2010.
Nun wird ja sowieso alles in den CLI-Code umgewandelt, und da ich schon mit VB6 sehr zufrieden war, sehe ich keinen Grund, nicht weiter bei Visual Basic zu bleiben (anstatt C# oder C++/CLI).
Ein was würde mich jedoch brennend interessieren:
Ich bin in der Sprache C recht fit. Schon oft habe ich gelesen, dass man in C eine DLL schreiben kann (in dieser Code/Funktionen ablegen kann) und die DLL dann einfach in VB.NET einbinden kann.
Was läuft da genau ab? VB.NET braucht ja das FrameWork als Laufzeitumgebung und alles geschieht aus direkter Umsetzung aus dem CLI-Code. Ist es jetzt wirklich so, dass der gesamte Code aus der C-DLL (welcher bereits in Maschinensprache ist) bei Aufruf der Funktionen in absoluten C-Eigenschaften ausführbar ist (also die Geschwindigkeit, Hardwarenähe, usw), ohne dass das FrameWork da einen Strich durch die Rechnung zieht?
Bzw., könnte man als grobes Beispiel mit VB.NET einfach nur eine GUI aufbauen und sämtliche Funktionen zu Berechnungen in C-Schreiben, welche exakt so schnell sind, als hätte man ein reines C-Konsolen-Programm? (sowas habe ich natürlich nicht unbedingt vor...soll nur ein Beispiel sein)
Ich bin leider neu in der ganzen Framework-Geschichte und hoffe, dass meine Frage nicht lächerlich ist
Man ließt nur immer wieder, dass .Net-Programme sehr langsam sein sollen, sogar im Vergleich zu VB6 und Java (wer weiß ob da was dran ist). Wenn ich nun aber weiß, dass ich die Möglichkeit habe, zeitkritische Funktionen trotzdem in C oder sogar darin noch mit Inline-Assembler zu schreiben und einfach so in mein VB.Net Programm einbinden kann, als wäre die Funktion in VB.NET geschrieben, freut mich das
Liebe Grüße,
Andi
ich habe früher viele Jahre lang VB6 programmiert und wollte nun seit einigen Jahren Programmierpause wieder in das Thema einsteigen...jedoch in Visual Basic 2010.
Nun wird ja sowieso alles in den CLI-Code umgewandelt, und da ich schon mit VB6 sehr zufrieden war, sehe ich keinen Grund, nicht weiter bei Visual Basic zu bleiben (anstatt C# oder C++/CLI).
Ein was würde mich jedoch brennend interessieren:
Ich bin in der Sprache C recht fit. Schon oft habe ich gelesen, dass man in C eine DLL schreiben kann (in dieser Code/Funktionen ablegen kann) und die DLL dann einfach in VB.NET einbinden kann.
Was läuft da genau ab? VB.NET braucht ja das FrameWork als Laufzeitumgebung und alles geschieht aus direkter Umsetzung aus dem CLI-Code. Ist es jetzt wirklich so, dass der gesamte Code aus der C-DLL (welcher bereits in Maschinensprache ist) bei Aufruf der Funktionen in absoluten C-Eigenschaften ausführbar ist (also die Geschwindigkeit, Hardwarenähe, usw), ohne dass das FrameWork da einen Strich durch die Rechnung zieht?
Bzw., könnte man als grobes Beispiel mit VB.NET einfach nur eine GUI aufbauen und sämtliche Funktionen zu Berechnungen in C-Schreiben, welche exakt so schnell sind, als hätte man ein reines C-Konsolen-Programm? (sowas habe ich natürlich nicht unbedingt vor...soll nur ein Beispiel sein)
Ich bin leider neu in der ganzen Framework-Geschichte und hoffe, dass meine Frage nicht lächerlich ist

Man ließt nur immer wieder, dass .Net-Programme sehr langsam sein sollen, sogar im Vergleich zu VB6 und Java (wer weiß ob da was dran ist). Wenn ich nun aber weiß, dass ich die Möglichkeit habe, zeitkritische Funktionen trotzdem in C oder sogar darin noch mit Inline-Assembler zu schreiben und einfach so in mein VB.Net Programm einbinden kann, als wäre die Funktion in VB.NET geschrieben, freut mich das

Liebe Grüße,
Andi