dans le cadre d'un projet à venir, nous allons devoir intégrer
de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut
qu'il puisse communiquer avec du C#. Après quelques
lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#:
On encapsule les fonctions C dans une DLL, et on l'appelle
depuis un coeur de code C#. Ca à l'air facile. Mais le
code C ne peut pas appeller de C#.
b) Copier/coller le code C dans du C#:
C# semble un (quasi) sur-ensemble de C. On doit pouvoir
copier/coller le code C et le passer au compilo C#.
Mais il semble que C# soit intéprété. Est-ce vrai ?
Cela peut-il poser un pb de perfs (c'est pour embarquer
sur un PDA, pas une machine de bureau).
d) Appeller du C# depuis du C
Est-ce possible ?
c) Du C .Net et du C#
Faire un composant .Net (ou COM ?) en C, un autre en
C#, et les faire communiquer. Mais ça a l'air lourd.
Qu'en pensez-vous ?
Merci d'avance,
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Remi THOMAS
"Marc Boyer" écrivit
Bonjour
Bonjour à tous,
dans le cadre d'un projet à venir, nous allons devoir intégrer de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut qu'il puisse communiquer avec du C#. Après quelques lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#: On encapsule les fonctions C dans une DLL, et on l'appelle depuis un coeur de code C#. Ca à l'air facile. Mais le code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke. Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
b) Copier/coller le code C dans du C#: C# semble un (quasi) sur-ensemble de C. On doit pouvoir copier/coller le code C et le passer au compilo C#. Mais il semble que C# soit intéprété. Est-ce vrai ? Cela peut-il poser un pb de perfs (c'est pour embarquer sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te laisse chercher les acronymes). C'est donc un peu (20 à 50%) moins rapide, mais c'est très variable suivant les algorithmes.
d) Appeller du C# depuis du C Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#. Sur PDA non.
c) Du C .Net et du C# Faire un composant .Net (ou COM ?) en C, un autre en C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact Framework ne connait pas COM)
Qu'en pensez-vous ?
Tu peux aussi lire cet article http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888 où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le .NET Compact Framework fonctionne bien mais ce n'est pas un foudre de rapidité. Sur une grosse application avec essentiellement des écrans de saisie la vitesse fut limite.
Rémi
"Marc Boyer" écrivit
Bonjour
Bonjour à tous,
dans le cadre d'un projet à venir, nous allons devoir intégrer
de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut
qu'il puisse communiquer avec du C#. Après quelques
lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#:
On encapsule les fonctions C dans une DLL, et on l'appelle
depuis un coeur de code C#. Ca à l'air facile. Mais le
code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke.
Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
b) Copier/coller le code C dans du C#:
C# semble un (quasi) sur-ensemble de C. On doit pouvoir
copier/coller le code C et le passer au compilo C#.
Mais il semble que C# soit intéprété. Est-ce vrai ?
Cela peut-il poser un pb de perfs (c'est pour embarquer
sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en
assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te
laisse chercher les acronymes). C'est donc un peu (20 à 50%) moins rapide,
mais c'est très variable suivant les algorithmes.
d) Appeller du C# depuis du C
Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur
crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#.
Sur PDA non.
c) Du C .Net et du C#
Faire un composant .Net (ou COM ?) en C, un autre en
C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact
Framework ne connait pas COM)
Qu'en pensez-vous ?
Tu peux aussi lire cet article
http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888
où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le
.NET Compact Framework fonctionne bien mais ce n'est pas un foudre de
rapidité. Sur une grosse application avec essentiellement des écrans de
saisie la vitesse fut limite.
dans le cadre d'un projet à venir, nous allons devoir intégrer de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut qu'il puisse communiquer avec du C#. Après quelques lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#: On encapsule les fonctions C dans une DLL, et on l'appelle depuis un coeur de code C#. Ca à l'air facile. Mais le code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke. Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
b) Copier/coller le code C dans du C#: C# semble un (quasi) sur-ensemble de C. On doit pouvoir copier/coller le code C et le passer au compilo C#. Mais il semble que C# soit intéprété. Est-ce vrai ? Cela peut-il poser un pb de perfs (c'est pour embarquer sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te laisse chercher les acronymes). C'est donc un peu (20 à 50%) moins rapide, mais c'est très variable suivant les algorithmes.
d) Appeller du C# depuis du C Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#. Sur PDA non.
c) Du C .Net et du C# Faire un composant .Net (ou COM ?) en C, un autre en C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact Framework ne connait pas COM)
Qu'en pensez-vous ?
Tu peux aussi lire cet article http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888 où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le .NET Compact Framework fonctionne bien mais ce n'est pas un foudre de rapidité. Sur une grosse application avec essentiellement des écrans de saisie la vitesse fut limite.
Rémi
Marc Boyer
Le 22-03-2007, Remi THOMAS a écrit :
"Marc Boyer" écrivit
Bonjour
Bonjour à tous,
dans le cadre d'un projet à venir, nous allons devoir intégrer de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut qu'il puisse communiquer avec du C#. Après quelques lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#: On encapsule les fonctions C dans une DLL, et on l'appelle depuis un coeur de code C#. Ca à l'air facile. Mais le code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke. Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
OK, merci. Une fois qu'on a le mot clef, google aide mieux.
b) Copier/coller le code C dans du C#: C# semble un (quasi) sur-ensemble de C. On doit pouvoir copier/coller le code C et le passer au compilo C#. Mais il semble que C# soit intéprété. Est-ce vrai ? Cela peut-il poser un pb de perfs (c'est pour embarquer sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te laisse chercher les acronymes).
Sans problème.
C'est donc un peu (20 à 50%) moins rapide, mais c'est très variable suivant les algorithmes.
Oui, ce sera la première piste à explorer.
d) Appeller du C# depuis du C Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#. Sur PDA non.
OK
c) Du C .Net et du C# Faire un composant .Net (ou COM ?) en C, un autre en C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact Framework ne connait pas COM)
OK
Qu'en pensez-vous ?
Tu peux aussi lire cet article http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888 où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le .NET Compact Framework fonctionne bien mais ce n'est pas un foudre de rapidité. Sur une grosse application avec essentiellement des écrans de saisie la vitesse fut limite.
OK, merci pour toutes ces infos.
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. André Maurois)
Le 22-03-2007, Remi THOMAS <remi@xtware.com> a écrit :
"Marc Boyer" écrivit
Bonjour
Bonjour à tous,
dans le cadre d'un projet à venir, nous allons devoir intégrer
de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut
qu'il puisse communiquer avec du C#. Après quelques
lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#:
On encapsule les fonctions C dans une DLL, et on l'appelle
depuis un coeur de code C#. Ca à l'air facile. Mais le
code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke.
Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
OK, merci. Une fois qu'on a le mot clef, google aide mieux.
b) Copier/coller le code C dans du C#:
C# semble un (quasi) sur-ensemble de C. On doit pouvoir
copier/coller le code C et le passer au compilo C#.
Mais il semble que C# soit intéprété. Est-ce vrai ?
Cela peut-il poser un pb de perfs (c'est pour embarquer
sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en
assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te
laisse chercher les acronymes).
Sans problème.
C'est donc un peu (20 à 50%) moins rapide,
mais c'est très variable suivant les algorithmes.
Oui, ce sera la première piste à explorer.
d) Appeller du C# depuis du C
Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur
crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#.
Sur PDA non.
OK
c) Du C .Net et du C#
Faire un composant .Net (ou COM ?) en C, un autre en
C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact
Framework ne connait pas COM)
OK
Qu'en pensez-vous ?
Tu peux aussi lire cet article
http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888
où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le
.NET Compact Framework fonctionne bien mais ce n'est pas un foudre de
rapidité. Sur une grosse application avec essentiellement des écrans de
saisie la vitesse fut limite.
OK, merci pour toutes ces infos.
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)
dans le cadre d'un projet à venir, nous allons devoir intégrer de code C et du C#, et j'essaye d'évaluer la difficulté.
Actuellement, nous avons un code (numérique) en C. Il faut qu'il puisse communiquer avec du C#. Après quelques lectures, je vois plusieurs pistes.
a) Une DLL C appellée par C#: On encapsule les fonctions C dans une DLL, et on l'appelle depuis un coeur de code C#. Ca à l'air facile. Mais le code C ne peut pas appeller de C#.
C'est ce que l'on appelle p/invoke. Existe sur PC et PDA (.NET Framework et .NET Compact Framework)
OK, merci. Une fois qu'on a le mot clef, google aide mieux.
b) Copier/coller le code C dans du C#: C# semble un (quasi) sur-ensemble de C. On doit pouvoir copier/coller le code C et le passer au compilo C#. Mais il semble que C# soit intéprété. Est-ce vrai ? Cela peut-il poser un pb de perfs (c'est pour embarquer sur un PDA, pas une machine de bureau).
Le compilateur C# génére du pcode appelé MSIL. Le MSIL est compilé en assembleur à la volé lors de l'execution, ceci est fait par la CLR (je te laisse chercher les acronymes).
Sans problème.
C'est donc un peu (20 à 50%) moins rapide, mais c'est très variable suivant les algorithmes.
Oui, ce sera la première piste à explorer.
d) Appeller du C# depuis du C Est-ce possible ?
Sur PC oui, mais c'est du C++ (et pas du C) et dans ce cas le compilateur crée du MSIL depuis le C++. Donc le C++ est aussi rapide que le C#. Sur PDA non.
OK
c) Du C .Net et du C# Faire un composant .Net (ou COM ?) en C, un autre en C#, et les faire communiquer. Mais ça a l'air lourd.
C'est effectivement lourd sur PC et pas possible sur PDA (.NET Compact Framework ne connait pas COM)
OK
Qu'en pensez-vous ?
Tu peux aussi lire cet article http://www.techheadbrothers.com/Articles.aspx?IdÇd58966-f33e-4fc2-aa4d-452979a97888 où j'ai essayé d'être didactique et pragmatique. Mais pas possible sur PDA.
Je pense que si les performances sont importantes il faut rester en C. Le .NET Compact Framework fonctionne bien mais ce n'est pas un foudre de rapidité. Sur une grosse application avec essentiellement des écrans de saisie la vitesse fut limite.
OK, merci pour toutes ces infos.
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. André Maurois)