Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Communauté
Communauté Suivez l'actualité C++ et contribuez à la vie de la communauté francophone C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 23h53   #1
PrometheeC
Invité de passage
 
Homme Arnaud
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Arnaud

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Salutations : VC+ VS contre BCB6 ? Vitesse optimisation CAN; VRML en C+

Bonjour je m’intéresse a la programmation bas niveaux en C#, je rencontre quelques problèmes de performance quant à traiter des trames CAN à 500KBauds.
Depuis peu je me remémore mes connaissances du C++, VC++ VS.Net et BCB6, Je viens de débuter la prog asm même si je pensais faire un trait dessus.
En parallèle je bricole à l’occasion sur un PIC24F en C++ aussi mais sous MPLAB

Je pensais les capturer correctement toutes les trames CAN mais j’ai réalisé des essais comparatifs que je mettrais rapidement en ligne. Le logiciel CAN Monitor Pro 2 semble capturer entre 10 à 40% plus de trame que mes maquettes C# ou BCB

Pour résumer j’utilise une interface CANUSB qui fonctionne bien. Le problème c’est certainement mon code et ce que je demande à la rossinante x86 qui doit subir mes excès de fougue..

J’en suis a considérer un applicatif de type console qui lirait les données, en émettant des requêtes selon les réponses précédentes ex protocole OBD : On lit les PID disponibles puis ont lit les PID supportés
Tout devra être sauvegardé dans une base de données sql server par exemple

J’avais fait une application pour lire les trames GPS sur IP depuis un PDA A696 avec deux buffers circulaires permutées en écriture puis en lecture alternativement, cette solution était suffisante pour un GPS à 4800Bauds.
Maintenant cette solution fonctionne toujours avec le CAN mais est ce la meilleure ??Pour le moment j’utilise les callbacks C++ et delegate C#, l’interface ne semble pas se plaindre (Tampon entrée n’est jamais trop plein NO BUFFER OVERFLOW)
Enfin jusqu’au moment ou j’ai tenté de lui faire bouffer du thread a mon pauvre C# en BCB la mise a jour de l’ihm par timer n’est guère plus efficace.

A l’heure H ce jour J je reprends les fondamentaux en ne perdant pas de vue la portabilité des mes applicatifs. J’en ai marre de faire la java avec ou sans script même si je considère les navigateurs pour ce qu’ils sont une ouverture sur le monde et les technologies.
J’avais bien bossé sur le VRML avec wings3D puis je espérer en faire quelque chose en C++ ou C# ?De préférence avec BS contatc mes essais en JavaScript EAI avaient pas mal avancé. Par contre ne VC# j’ai jamais réussis à appeler une fonction défini en C# depuis le plugin VRML (ActiveX)

A ce stade je viens de m’apercevoir d’une curiosité sous VC++ VS.Net en effet lorsque je compile deux boucles for imbriqués contenant une simple multiplication ex : 2*5 et que je bascule en release avec optimisation de la vitesse j’obtiens des résultats surprenants. Mon compilateur serait il si intelligent qu’il est compris que cette boucle ne sert a rien ?VC++ semble carrément ignorés les boucles for tout en faisant le calcul, alors qu’il faut un temps certain pour faire la boucle sous BCB alors que le code généré en VC++ s’execute en quelque nanosecondes

Plus généralement je recherche des personnes maitrisant le C++ mieux que moi-même qui aurait déjà comparé les performances des compilateurs pour m’apporter de précieux conseils sur l’optimisation du code pour obtenir un résultat plus « pro ».
Je pense que le sujet de la programmation optimisée et portable n’est pas une chimère même sous Windows

Ensuite j’ai un projet de cartographie Lambert 93, avec gestion du récepteur GPS a remettre en C++, c’est un projet ardue et franchement seul c’est pas facile import pour la France depuis base fichiers IGN.J’en entais a créer des dalle depuis des copies d’écran géoréférencées sur geoportail,
En plus je veux greffer mon Applicatif CAN pour logger les parametres d'un vehicule au cours d'un trajet en vue de comaprer les performances d'un véhicule par raport à un autre ou sur des parcours différents pour un meme vehicule


Donc voila je m’inscris sur le forum pour trouver de bonnes volontés et des personnes intéressés.
PrometheeC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 09h59   #2
JolyLoic
Rédacteur/Modérateur
 
Avatar de JolyLoic
 
Homme Loïc Joly
Développeur informatique
Inscription : août 2004
Messages : 4 675
Détails du profil
Informations personnelles :
Nom : Homme Loïc Joly
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2004
Messages : 4 675
Points : 9 899
Points : 9 899
Citation:
Envoyé par PrometheeC Voir le message
Mon compilateur serait il si intelligent qu’il est compris que cette boucle ne sert a rien ?
Oui
JolyLoic est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 17h25   #3
PrometheeC
Invité de passage
 
Homme Arnaud
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Arnaud

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Donc??

VC++ alors??

Une autre questiob si je me permets.
Je sais que cela est possible avec C# mais je me demande si on peut :

compiler dynamiquement du code, en theorie un compilateur est un logiciel comme un autre qui prends des arguments. Donc si je crée un fichier trame ou j'aoute du code ; que je compile cela me permet ue compilation dynamique.

Probleme est il possible que le programme C++ "apprenent" sans etre redemmaré la classe chat qui vient d'etre compilé et puise l'utiliser.
Ma classe chat serait dérivé de la classe mammifère qui elle pourrait déja exister dans le code. ?
PrometheeC est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h50.


 
 
 
 
Partenaires

Hébergement Web