Catégories

SQLite et CVI - Etape par étape et sans prise de tête

sqlite

Temps de lecture : 3 minutes

Un rapide tutoriel qui montre comment utiliser SQLite et CVI. Il faut commencer par récupérer sur le site de SQLite (http://www.sqlite.org/download.html) les trois fichiers zip qui vont bien :

  • sqlite-amalgamation-xxx.zip
  • sqlite-dll-win32-x86-xxx.zip
  • sqlite-shell-win32-x86-xxx.zip
  • Dans le répertoire Téléchargements de Windows dézippez ensuite les fichiers en question.

    Dans le répertoire "amalgamation" copiez sqlite3.h et collez le dans un répertoire nommé "testsql" par exemple.

    Dans le répertoire "sqlite-dll" copiez le fichier sqlite3.dll et collez-le dans le répertoire testsql précédent.

    Dans le répertoire "shell" copiez le fichier sqlite3.exe et collez-le dans le répertoire testsql précédent.

    Toujours dans le gestionnaire de fichier Windows, faites SHIFT+CLICK DROIT sur le nom du répertoire testsql ...

    Lire la suite SQLite et CVI - Etape par étape et sans prise de tête

    Les fonctions les plus utilisées dans les exemples CVI

    Temps de lecture : 2 minutes

    J'ai eu l'occasion de faire une analyse de tous les codes source des exemples qui viennent avec CVI 2013. En fait je souhaitais établir la liste des fonctions les plus utilisées.

    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 codes 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 ...

    Lire la suite Les fonctions les plus utilisées dans les exemples CVI

    Crible d’Eratosthène – Un exemple d'optimisation de code

    Temps de lecture : 30 minutes

    Introduction

    Dans cet article, sous prétexte de m'intéresser au crible d’Eratosthène, 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 ...

    Lire la suite Crible d’Eratosthène – Un exemple d'optimisation de code

    Utiliser Clang pour générer du code assembleur

    Temps de lecture : 2 minutes

    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 ...

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

    Compiler et linker ses projets CVI entièrement avec MSVC

    Temps de lecture : 8 minutes

    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 ? À 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 ...

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

    Architecture d'application temps réel avec CVI

    Temps de lecture : 29 minutes

    Introduction

    Dans cet article, on va s'intéresser plus à l'architecture sur laquelle pourraient s'appuyer nos futures applications temps réel. Attention, afin de pouvoir se concentrer sur l'architecture et non sur les questions de base, je suppose que vous êtes capables d'installer une cible temps réelle et que vous avez déjà écrit une application temps réel simple avec CVI. On peut donc maintenant passer à la suite des opérations.

    Quel est le cahier des charges ?

  • Premièrement, je veux une application qui s'articule en deux gros morceaux. Un bout tournera sous Windows (le client) et l'autre morceau tournera lui ...

    Lire la suite Architecture d'application temps réel avec CVI

  • Configurer CVI pour utiliser des compilateurs optimisés

    Temps de lecture : 4 minutes

    Introduction

    En 2012, le compilateur de CVI n'est toujours pas optimisé. Il a plein d'autres avantages mais bon, le code généré en mode release est très lent comparé à ce que l'on peut obtenir dans d'autres environnements. Je vais ici prendre 5 minutes pour expliquer ce qu'il faut faire pour qu'à partir de l'environnement CVI, lorsque vous êtes en mode release, le code soit compilé à l'aide d'un compilateur externe (et donc beaucoup plus rapide).

    Ouvrez l'exemple life.cws qui se trouve dans ../samples/apps/life

    SHIFT+F5. Le code se compile en mode debug et la fenêtre suivante apparaît :

    Dans ...

    Lire la suite Configurer CVI pour utiliser des compilateurs optimisés