Forum Programmation.c Je veux bien que JavaScript soit optimisé, mais quand même !...

8
26
juin
2024

Bonjour à tou(te)s,

je veux bien que JavaScript soit optimisé, mais quand même, de là à être du même ordre de grandeur que C en calcul simple je ne comprends pas ! En effet C étant un langage compilé et typé, je pensais que sur les calculs il serait au moins un ou deux ordres de grandeur plus rapide, mais pas du tout !

J'avoue : je n'avais pas retouché à C depuis au moins 10 ans, je suis donc (…)

Journal C23, listes variantes et le turfu

Posté par  (site web personnel) . Licence CC By‑SA.
16
31
mai
2024

Hello again 'nal,

Tu vas sans doute penser que je fais du comique de répétition,

mais là avec toi, je tiens quelque chose : j'ai directement embrayé sur la version suivante de:

variant_list

qui implémente le maximum des plus récentes évolutions du langage C (alias C23).

Pour le coup ça commence vraiment à devenir intéressant.
Ce dont je suis le plus fier est que le code compile désormais sans aucun warning avec la version "15.x staging (…)

Journal C11, listes variantes et le turfu

Posté par  (site web personnel) . Licence CC By‑SA.
26
13
mai
2024

Salut' nal,

Dans la foulée, pas immédiate, des excellents articles de pulkomandy sur les évolutions du langage C, j'ai décidé de m'intéresser à… C11.

Oui seulement lui ; car ça fait peut-être déjà 12 ans, mais l'adoption du truc reste relativement récente

En tant que développeur C++, revenir aux "bases" m'a fait du bien. Pas de références universelles à transmettre à travers des couches de templates, pas d'instanciation de générique avec un type privé, pas de surcharge-surprise (…)

Forum Programmation.c Compilation et utilisation bibliothèque dynamique

Posté par  . Licence CC By‑SA.
Étiquettes :
1
21
jan.
2024

Bonjour,
Je butte depuis plusieurs heures sur un problème, où j'en suis convaincu, il ne manque qu'un petit détail.
J'ai un fichier testLib.c et un fichier d'entête testLib.h pour créer une biblio libtestLib.so

testLib.c :

#include "testLib.h"

int addition(int a, int b) {
  return a+b;
}

testLib.h :

int addition(int a, int b);

Pour compiler, j'utilise les commandes suivantes :

rm -f testLib.o
gcc -fomit-frame-pointer -O3 -Wunreachable-code -Wextra -Wall
(…)

Forum Programmation.c implémentation d'une liste chaînée en langage c

Posté par  . Licence CC By‑SA.
Étiquettes :
0
20
avr.
2023

bonjour,
je me suis acheté un bouquin: "Maîtrise des algorithmes en C" de Kyle Loudon.
j'arrive au 5eme chapitre qui parle des listes chaînées… je comprends l'algorithme, mais lors qu'il s'agit de le faire fonctionner, je tombe sur une erreur de libération de pointeur.

L'algorithme est le suivant:

list.h:

        #ifndef __LIST
        #define __LIST

        typedef struct ListElmt_{
            void *data;
            struct ListElmt_ *next;
        } ListElmt;

        typedef struct List_{
            int size;
            ListElmt
(…)

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 (…)