Wird C # mit dem nativen C ++ - Compiler zusammengeführt? [geschlossen]

23

Nach diesem Beitrag:

http://channel9.msdn.com/Forums/Coffeehouse/MS-working-on-a-same-compiler-for-C-AND-C--Not-in-inkubation-but-for-production-

Wie viel Wahrheit steckt in diesem Beitrag? Sollte es von Hardcore-C ++ - Programmierern (Spieleentwicklern usw.) ernst genommen werden?

Bearbeiten: Diese Frage hat einen anderen Zweck ... Wird C # mit C ++ abwärtskompatibel sein?

user73830
quelle
5
+1 , da die verknüpften Job - Angebote auf der Microsoft - Website erwähnen in der Tat einen Compiler für C # und C ++ careers.microsoft.com/jobdetails.aspx?jid=81769
MarkJ
Ich frage mich, warum es heutzutage nicht in den Nachrichten ist ....
user73830
Sowohl C # als auch C ++ können von denselben Optimierungen profitieren, die über eine gemeinsame IR durchgeführt werden. Daher ist es möglicherweise sinnvoll, einen einheitlichen Compiler zu haben.
SK-logic
1
Warum sollte es abwärtskompatibel sein? Diese Sprachen sind zu unterschiedlich, was nicht bedeutet, dass sie nicht beide dieselbe Compiler-Mittelschicht teilen können (während sie immer noch auf die verschiedenen Backends abzielen).
SK-logic
1
Beispielsweise ist die Polyederanalyse (die in der Anzeige ausdrücklich erwähnt wurde) für beide Sprachen identisch, mit einer zusätzlichen Abhängigkeit von der Aliasing-Analyse für das C ++ - Frontend.
SK-logic

Antworten:

9

Keine Chance. Es würde die drastischste Umgestaltung einer Sprache erfordern, die jemals mit C ++ funktioniert, und jeden Zentimeter des vorhandenen C # -Codes beschädigen. Sie versuchen höchstwahrscheinlich nur, dasselbe native Codegenerierungsframework zu verwenden.

DeadMG
quelle
6

Wahrscheinlich falsch in den Angaben. MS hat bereits einen nativen MSIL-Compiler in Form von Ngen. Es würde mich nicht überraschen, wenn sowohl Ngen als auch cl dasselbe Code-Gen-Back-End verwenden würden, sodass sie Verbesserungen wie die erwähnte automatische Vektorisierung teilen.

Steinmetalle
quelle
Nein, cl teilt kein gemeinsames Backend mit ngen.
SK-logic