2010-05-11 4 views
3

Je sais que c'est une question étrange, mais l'idée est simple: je préfère la syntaxe C# plutôt que C++: -Setters et getters directement dans une propriété -interfaces déclaration -foreach -Possibilité de déclarer un opérateur de conversion impliciteinverse PInvoke et créer un programme complet non géré C#

autres petites choses ...

ce que je ne sais vraiment pas est s'il est possible d'importer un C++ dll (bibliothèques expecially std) en C# si je ne utiliser n'importe quel espace de noms (même système)

L'idée est juste d'écrire un programme en utilisant tout ce que vous utilisez normalement en C++ (rien CLR donc), même printf par exemple

Merci pour toute réponse

+0

double possible de [Exportation des fonctions dll aux programmes non gérés] (http://stackoverflow.com/questions/12647766/exporting-dll-functions-to-unmanaged-programs) – Rohit

Répondre

1

Il y a maintenant quelque chose proche de ce

.NET Native C# compile en code machine natif qui fonctionne comme C++. Vous continuerez à bénéficier de la productivité et de la familiarité du .NET Framework avec les excellentes performances du code natif.

Il est pour les applications Windows Store uniquement (applications de bureau peuvent venir à l'avenir):

applications de bureau sont une partie très importante de notre stratégie. Au départ, nous nous concentrons sur les applications Windows Store avec .NET Native. À plus long terme, nous continuerons à améliorer la compilation native pour toutes les applications .NET.

Et

applications vont se déployer sur les périphériques de l'utilisateur final comme entièrement autonome code compilé en mode natif (quand entre dans .NET natif de production), et pas une dépendance sur le .NET Framework sur le dispositif cible/machine à

+0

J'ai mis à jour la réponse à la vôtre, compte tenu de la mise à jour récente. Super! –

0

Non; ce n'est pas directement possible. En particulier, les modèles C++ ne sont pas supportés par C#.

+0

Eh bien, C# a des génériques mais ils ne sont pas identiques ... donc pas moyen d'utiliser la syntaxe C# pour créer quelque chose comme un jeu (oui je sais XNA, mais je voudrais écrire quelque chose de totalement détaché de CLR, qui utilise directx ou opengl) –

3

Non, il n'est pas possible d'importer simplement des fichiers C ou C++ existants dans un projet C#. Ce sont des langues très différentes et ne peuvent pas être mélangées au niveau de la source.

La façon de mixer les applications C# et C++/C est au niveau PInvoke ou COM Interop. Cela fonctionne en dupliquant les signatures en C# et en permettant au compilateur C# de déterminer la disposition binaire du type natif afin de marshaler entre les langues.

Questions connexes