septembre
2010
J’ai eu besoin d’utiliser l’algo bien connu de Dijkstra pour trouver un plus court chemin entre 2 points. Le principe est très bien expliqué sur wikipédia, mais j’avais besoin d’une implémentation en C. Après quelques recherches, je suis tombé sur cette page qui m’offre l’aglo tout cuit, mais sans son utilisation. Je montre ici comment l’utiliser après une ou deux corrections de coquille dans l’algo trouvé. Il faut dans un premier temps une matrice adjacente, […]
avril
2008
Voici le lien : http://msdn2.microsoft.com/fr-fr/magazine/cc500572.aspx Bonne lecture
février
2008
Je viens de mettre à jour mon tutoriel sur l’intéropérabilité où j’expose une manière plus simple de mettre à jour une structure C native par référence depuis un programme C#.
janvier
2008
Me voici également renouvelé pour une nouvelle année de MVP à votre service. J’en profite pour vous adresser mes meilleurs voeux pour cette année, qu’elle soit riche en C++, en .Net et en surprise de toutes sortes. Bons devs
octobre
2007
Je vous présente la deuxième partie de mon tutoriel d’introduction à l’intéropérabilité. Vous apprendrez comment utiliser des structures C plus ou moins complexes dans un programme C#. Vous apprendrez aussi comment fonctionne COM Interop ainsi que le hosting de CLR afin d’utiliser des objets .Net dans une application native. Aller au tutoriel d’introduction à l’intéropérabilité (partie 2) Bonne lecture
août
2007
Somasegar nous informe de l’orientation stratégique de Visual C++. Comme on pouvait s’en douter, les priorités s’articulent autour de : l’augmentation du support sur le développement natif l’interop pour permettre a des applications natives d’accéder aux composants des framework.Net (WPF, WCF, …) que ce soit pour un relooking ou pour tirer parti des avancées du framework. l’interop en tant que pont entre le monde managé et natif, pour tout ce qui est wrapper. Des perspectives […]
août
2007
Des fois, il peut etre utile de pouvoir intercepter une exception managée à partir d’un code natif. Soit le programme suivant qui simule, grace aux pragma unmanaged et managed, une intéraction entre un code natif et un code managé : using namespace System; void fonctionManagee() { throw gcnew Exception("Exception managée"); } #pragma unmanaged void fonctionNative() { fonctionManagee(); } #pragma managed int main() { fonctionNative(); return 0; }
juin
2007
On vient de me poser une question : je veux utiliser cette structure en C dans mon programme C# typedef struct { int val; int telfixe[10][2]; } MASTRUCTURETEL; j’ai un peu modifié l’exemple pour que ce soit plus simple, mais la question porte sur le tableau à deux dimensions. Alors, comment faire ?
juin
2007
Le billet précédent présente une méthode qui simplifie grandement l’écriture de notre programme natif qui utilise un objet managé via COM Interop. La contrainte qu’il rajoute est la transformation des signatures des méthodes à la sauce COM. Ainsi, une méthode : String^ ReadLine(); sera wrappée en HRESULT ReadLine(/*[out,retval]*/ BSTR); Ce qui suggère l’utilisation de la macro SUCCEEDED pour tester la bonne marche de la fonction. Mais pouvons-nous encore simplifier et se passer de ce type […]
juin
2007
Si vous êtes allé au bout du précédent billet, je vous félicite. Je rappelle que le but est de pouvoir utiliser un objet .net depuis notre exe natif pur et de passer des paramètres à son constructeur via un wrapper CLI. Quand je re-regarde le code du billet, il me fait peur Tout ce code pour finalement si peu de choses… N’y aurait-il pas moyen de faire plus simple ? Forcément, si j’écris ca, c’est […]
Commentaires récents
- [Tests] Arrange Act Assert, une traduction ? dans
- [UnitTest][C#] Tester une méthode privée dans
- Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
Archives
- janvier 2013
- avril 2012
- janvier 2012
- juin 2011
- janvier 2011
- décembre 2010
- novembre 2010
- septembre 2010
- juin 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- mai 2009
- avril 2009
- mars 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007