Catégories

CVI dans l’enseignement pour l’apprentissage du C ANSI

Introduction

Le but de cet article est de permettre de faire rapidement le point sur les multiples avantages qu’il y a à utiliser CVI dans l’enseignement pour l’apprentissage du C ANSI. En effet, CVI bénéficie de caractéristiques uniques qui nous semblent particulièrement adaptées à la formation et à l’enseignement.

La programmation en C

LabWindows/CVI est un environnement de développement en C (il respect la norme ANSI C 99). A ce titre, il regroupe tous les outils nécessaires à la création d’applications Windows développées en C. On compte ainsi un éditeur de code source C, un très bon débogueur, des panneaux …

Lire la suite CVI dans l’enseignement pour l’apprentissage du C ANSI

Compiler et linker ses projets CVI entièrement avec MSVC

Introduction

Avec CVI il est très facile de compiler son code avec un compilateur optimisé. J’ai déjà écrit un billet à ce sujet. Ici on va plus loin puisque le but est de compiler et de linker l’ensemble du projet dans Visual C++ par exemple. Quel intérêt? A mon avis il est double : vitesse et compacité. Mais bon, on se calme, on va avancer pas à pas et on reviendra sur le sujet en temps utile.

Un code d’exemple très simple

On commence avec un exemple de code très court qui fonctionne dans l’IDE de CVI. Le seul truc …

Lire la suite Compiler et linker ses projets CVI entièrement avec MSVC

Patch f1 pour CVI 2013

A appliquer si vous utilisez CVI 2013

A télécharger sur : http://joule.ni.com/nidu/cds/view/p/id/4447/lang/en

On ne sait pas si il y aura un f2 (sans doute pas)

Le SP1 est attendu vers la fin Q1 2014

A propos des accents et de l’encodage des caractères dans les consoles

L’autre jour, je sais plus trop pourquoi, j’ai été amené à m’intéresser aux histoires d’accents lors des affichages dans les consoles. Comme je suis toujours en train de lire et d’apprendre le C++11 j’ai essayé de voir comment cela se passait. Comme d’habitude, j’ai trouvé tout et n’importe quoi sur le web et les forums.

Bon bref, histoire de se remettre les idées en place, voici deux articles à lire absolument :

  • http://www.joelonsoftware.com/articles/Unicode.html
  • http://www.utf8everywhere.org/
  • Ensuite sous Windows 7, en C++, on peut faire un test rapide avec le code suivant. Notez que je ne m’intéresse qu’aux accents et pas aux …

    Lire la suite A propos des accents et de l’encodage des caractères dans les consoles

    Première vidéo CVI sur YouTube – Introduction et mode console

    Après des années d’hésitation, j’ai enfin posté une vidéo à propos de CVI sur YouTube. Rendez-vous sur : https://www.youtube.com/watch?v=48pPFFJe27Y (soyez indulgents et merci pour les feedbacks.) ou alors visionnez la ici.

    Le making of

    En fait c’est un peu « merdique » au niveau des réglages alors je note tout ici comme ça, au pire, je n’aurai plus qu’à copier/coller la prochaine fois. Si en plus cela peut rendre service… Y a pas de mal à se faire du bien. Pour commencer, en terme d’outils il va falloir :

  • CamStudio (http://camstudio.org/)
  • Codec Jawor XVid (http://codecpack.co/download/Jawor_Xvid_Binaries.html)
  • VirtualDub (http://www.clubic.com/telecharger-fiche10126-virtualdub.html)
  • VLC (http://www.clubic.com/telecharger-fiche10829-vlc-media-player.html)
  • Lire la suite Première vidéo CVI sur YouTube – Introduction et mode console

    Arduino et CVI sur YouTube

    Le son est pas terrible mais bon… : http://youtu.be/tFjBNNib6oM

    Pour le reste la dernière CVI Newletter vient de sortir

     

    Crible d’Eratosthène – Optimisation de code

    Introduction

    Dans cet article je vais prendre un peu de temps pour expliquer deux ou trois techniques d’amélioration et d’optimisation de code. On aura l’occasion de faire des mesures précises de temps, de revoir des trucs à base de manipulation de bits etc… Quoiqu’il en soit, pour illustrer tout cela, je vais m’appuyer sur un exemple hyper classique : le crible d’Ératosthène avec lequel on tentera de sortir le nombre d’entiers premiers inférieurs à 5 000 000 le plus rapidement possible.

    Je ne reviens pas sur le principe de cet algorithme qui permet de retrouver des nombres premiers puisque ce …

    Lire la suite Crible d’Eratosthène – Optimisation de code

    Parcours de répertoires de manière récursive

    Dans un récent projet j’ai du coder un parcours récursif des répertoires, sous-répertoires et fichiers afin d’appliquer un traitement particulier aux fichiers .c que je trouvais. En fait ce n’est pas possible avec les fonctions GetFirstFile() et GetNextFile() de CVI car elles ne supportent pas bien la récursivité. Voilà ce que j’ai dû écrire (attention faut pas oublier d’inclure le fichier windows.h en haut d source). N’hésitez pas à la copier-coller si besoin.

    En deux mots… On commence par trouver, si il y en a, les sous-répertoires du répertoire RooDir (et on évite bien sûr de traiter les répertoires spéciaux …

    Lire la suite Parcours de répertoires de manière récursive

    Utiliser Clang pour générer du code assembleur

    Avec CVI 2013, si pour une raison ou pour une autre vous souhaitez traduire en assembleur un de vos codes source, ouvrez une console (touche Windows + R et vous tapez cmd) dans laquelle vous saisissez la commande suivante. Attention, ici on suppose que le code s’appelle wintest.c

    « C:\Program Files (x86)\National Instruments\CVI2013\bin\clang\2.9\clang.exe » -cc1 -triple i386-pc-win32 -S -nostdinc -triple i386-pc-win32 -fno-caret-diagnostics -fno-gnu-keywords -fms-extensions -mms-bitfields -fmath-errno -mdisable-fp-elim -Wno-microsoft -Werror=gnu -Werror=pointer-arith -Wpointer-sign -Wunreachable-code -Wparentheses -Wunused-variable -Wuninitialized -Wdiv-by-zero -Warray-bounds -Wnull-dereference -Wignored-qualifiers -Wreturn-type -Wpanel-handle -Wtautological-compare -Wempty-body -Wmissing-braces -Woverlength-strings -Wcast-align -Wmissing-noreturn -Winvalid-noreturn -Wshadow -Wswitch -Wswitch-enum -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wused-but-marked-unused -Wconversion -Wsign-compare -Wchar-subscripts -Wdeclaration-after-statement -Wtypecheck-convert -Wfloat-equal …

    Lire la suite Utiliser Clang pour générer du code assembleur

    Top 50 des fonctions les plus utilisées dans les exemples de CVI

    J’ai eu l’occasion de faire une analyse de tous les codes source des exemples qui viennent avec CVI 2013. Il a fallu que je m’y reprenne à deux fois mais cette fois je crois disposer d’un résultat fiable. En effet au départ j’avais des problèmes avec les codes qui utilisaient le SDK ou .NET. Je ne faisais alors l’analyse que de 152 code sources sur 360 disponibles. Dans un deuxième temps je tiens compte de pratiquement tous les fichiers sources. J’ai encore des problèmes avec 17 d’entres eux. C’est notamment des problèmes de header manquants je crois… 17 sources sur …

    Lire la suite Top 50 des fonctions les plus utilisées dans les exemples de CVI