Journal Carnet de route - taume 0

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
7
30
nov.
2018

Notes et découvertes faites lors de mes voyages informatiques

Vérifier si deux énoncés parmi N (N >= 2) sont vrais, en Python

sum(map(bool, l)) > 1

Je n'ai pas trouvé de one-liner satisfaisant qui s'arrête dès que la condition est vérifiée :-/

Spécialiser une fonction C(11) pour un type donné

Pour vérifier qu'on n'a pas un niveau de pointeur en trop :

void dump_ptr(void* ptr) { printf("%p", ptr); }
void dump_iptr(int* iptr) { printf("%p: %d", iptr, *iptr); }

#define dump_ptr(p) _Generic((p), int* : dump_iptr(p), default: dump_ptr(p))

Aliasing de fonctions avec des conventions d'appel différentes

L'appel ci-après a un comportement indéfini

extern "C" void foo(int);
void (*ptr)(int) = foo;
ptr(1); // bad
extern "C" void (*ptr2)(int) = foo;
ptr2(1); // good

La commande tar permet de renommer les fichiers à l'intérieur de l'archive

D'après tar(3):

--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file names

Un joli warning de GCC

https://godbolt.org/z/7BXTbT warning sur une variable non initialisée qui apparait durant l'optimisation (d'où le <anonymous>) car on copie l'octet minimal requis pour toute classe, et que cet octet n'est pas initialisé :-)

Avoir une fonction avec état sans écrire de classe en Python

Encore un one-liner stupide, mais il m'a bien amusé celui là

l = lambda x, self=[]: (self.append(x), self)[1]

à suivre…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.