Jour 5 - Fonctionnalités

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
80
Mois de parution
septembre 2015
Domaines


Résumé
Nous pouvons sans risque dire que depuis hier, nous maîtrisons suffisamment le C pour aller nous aventurer sur des terres inconnues. Certes nous ne savons pas tout. Nous n'avons pas vu l'intégralité de la bibliothèque standard ou toutes les finesses que la grammaire de C permet. Mais c'est volontaire. On ne va pas perdre de temps à montrer à quel point le langage C permet d'écrire des choses étranges qui ne font pas ce à quoi l'on pourrait s'attendre ou discuter sur les bénéfices de telle ou telle optimisation. Nous sommes là pour découvrir le C et ce qui fait qu'un langage est efficace, c'est ce que l'on peut faire avec. Alors assez avec le langage lui-même et plongeons la tête dans des problématiques concrètes : le temps, l'aléatoire et la base de données avec SQLite sont au programme aujourd'hui.

1. La gestion du temps

1.1 Mesurer un temps

La gestion du temps est un domaine extrêmement important. Il est quasiment impossible de ne pas avoir à s'en servir à un moment où à un autre. Et si cela nous semble quelque chose de vraiment basique, en fait il s'agit de l'une des tâches les plus complexes. En effet, comment déterminer le passage du temps ?

Heureusement pour nous, le langage C dispose des outils qui vont bien et a résolu ces problématiques pour nous. C et Unix d'ailleurs fonctionnent sur les mêmes principes. Ces outils sont disponibles en utilisant l'entête time.h.

Pour capturer l'instant présent, il faut procéder ainsi :

time_t temps = time(NULL);


On peut aussi le faire en deux lignes :

time_t temps;

temps = time(NULL);

Et utiliser cette forme, plus conventionnelle :

time_t temps;

time(&temps);

En fait, la fonction time va renvoyer le résultat et l'affecter au pointeur qu'on lui passera en paramètre (si pas de pointeur, pas d'affectation). En utilisant l'opérateur...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Programmation avec le 6502 : les sprites de la NES, ou comment coder le jeu Pac-Man

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

Dans le précédent article, nous avons commencé à nous familiariser avec la partie graphique de la console NES (Nintendo Entertainment System). Aujourd’hui, nous allons réaliser un véritable jeu, ou du moins nous allons suffisamment le débuter pour qu’il commence à être intéressant.

Analyse de code avec Cppcheck (et intégration sous Eclipse)

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Zut ! Encore un plantage !!! Combien de fois n’avez vous pas prononcé cette phrase, face au blocage d’une application de bureautique bien connue ou face à un crash système ? Sur un ordinateur de bureau, ce type de désagrément n’a d’autre effet que de faire monter votre niveau d’énervement, mais dans le cas d’un système embarqué, les effets sont bien plus graves. Heureusement, Cppcheck est là pour vous aider.

Réinvention de la roue... des temporisations

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Les temporisations sont essentielles au sein des systèmes d'exploitation et dans certaines applications, pour déclencher des actions à l'échéance d'un délai. Il existe différents algorithmes pour les gérer de manière efficace. Cet article présente la fusion de deux d'entre eux, pour en tirer le meilleur.

Mesure fine de déplacement par RADAR interférométrique à synthèse d’ouverture (InSAR) par radio logicielle

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Nous avons démontré dans le premier article de la série la capacité à mesurer la distance à une cible (range compression), puis dans un deuxième temps à détecter l’angle d’arrivée du signal (azimuth compression). Fort de cette capacité de cartographier des cibles, nous allons conclure cette série sur la conception de RADAR à base de radio logicielle, et le traitement des signaux associé, par la mesure fine de déplacement des cibles par analyse de la phase (interférométrie) du signal, lors de la répétition des mesures.