Journal Les codes fantastiques (et où les trouver)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
42
1
juil.
2023

Demat' iNal,

Depuis fin 2022, j'anime une petite rubrique dans GNU/Linux Magazine, intitulée les codes fantastiques, où est décrit en une page une petite aventure informatique, un bout de code qui m'a amusé / plus / interpelé. [0]

Comme c'est les 25 ans de LinuxFR, et que j'en écris plus que ce qu'ils peuvent publier (trois d'avance pour le moment !), voici une sorte de ?hors série? que je ne publierai pas là bas du coup.

Les codes fantastiques

(…)

Journal Aujourd'hui on ne parle pas de k-pop, mais de JSON !

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
20
24
juin
2023

ATTENTION, sous ses faux airs d’impartialité, ce journal est une pub éhontée pour mon projet json-search

Bonjour, il y a quelques temps, j'ai posté ce lien
dans lequel on m'a demandé "pourquoi ne pas écrire un journal ?"
Au lieu de ne parler que de mon projet, je pop donc une comparaison de plusieurs outils pour chercher des éléments dans un fichier JSON.
(C'est donc de la j-pop)

J'ai pris ce fichier (un peu impartialement) car je voulais un fichier (…)

Journal SIGUSR1, SIGUSR2,..., SIGUSR_N ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
12
10
mai
2023

Demati'Nal,

À la lecture de signal(7), on se rend compte que deux signaux sont réservés pour les signaux utilisateurs SIGUSR1 et SIGUSR2. Deux, c'est peu. Je vous propose donc cette technique qu'on baptisera le signal knocking par analogie au Port_knocking

#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int signalvalue = 0;

void sigusr1handler(int signum);
void sigusr2handler(int signum);

void sigusr1handler(int signum) {
  ++signalvalue;
}
void sigusr2handler
(…)

Forum Programmation.c C : gestion du répertoire de travail

Posté par  . Licence CC By‑SA.
Étiquettes :
0
15
mar.
2023

Bonjour à tous,

Je recherche le moyen le plus simple (au sens "moins de lignes de code") de récupérer le répertoire de travail d'un programme.

Supposons que le programme ait besoin d'ouvrir un fichier data.txt situé dans le même répertoire que l'exécutable. Le plus simple est d'écrire :

f=fopen("data.txt","r");

Mais si j'appelle le programme d'un autre emplacement que celui de l'exécutable, ça ne marche pas. Il faut donc récupérer le répertoire de travail.

Voici les deux méthodes les plus simples (…)

Forum général.cherche-logiciel Analyseur statique de code C

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
3
15
fév.
2023

Bonjour,

J'ai jamais trop utilisé d'analyseur de code dans ma carrière, donc je ne sais même pas si ce que je demande existe en fait !

Pourriez-vous me conseiller un (ou plusieurs) LL qui me permette de :
- faire des stats de base sur le code (nb et taille des fonctions par exemple)
- faire un graphe d'appel des fonctions
- sortir une doc du code si on met des commentaires sous un format spécifique
- analyser les erreurs (…)

Nouveautés du langage C dans sa prochaine version C23

118
16
jan.
2023
C et C++

Le C est un langage de programmation développé depuis 1972 par Kenneth Thompson, Brian Kernighan et Dennis Ritchie. Il est, au départ, étroitement lié au développement du système UNIX, mais il a par la suite trouvé de nombreuses autres utilisations.

Il a influencé le développement de plusieurs autres langages dont C++, Objective-C, Java, D et C#.

La version C23, qui sera vraisemblablement finalisée en 2023, apporte son lot de nouveautés.

Après un bref historique de la normalisation du langage, cet article parcourt les principaux changements présents dans cette nouvelle version.