logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 Re : Scripts, programmes et robots » [Résolu] cast (void) dans une define en C » 23-06-2019 17:01:14

wol
Merci pour vos réponses,
je suis allé consulter le manuel de référence de l'ANSI C pour éclaircir cette affaire, voilà ce que j'ai compris :
comme le suggère enicar, le cast (void) signal qu'on ne fait rien avec le résultat. Ainsi, si on ne mettait pas le (void) dans le define, alors l'instruction suivante :

void *ptr;
ptr = PUSH(lo, high);

serait acceptée par le compilateur sans même provoquer d'avertissement car

(top->lo = (low)), (top->hi = (high)), ++top)

est une expression valable qui vaut ++top d'après les règles d'évaluation de l'opérateur , (qui est bien un opérateur dans ce contexte et n'a rien à voir avec un appel de fonction).
En rajoutant le (void), on s'assure que l'instruction ptr = PUSH(low, high); provoque une erreur à la compilation, vu que le résultat de l'expression PUSH(low, high) est jetée aux oubliettes et ne peut être affecté à une autre variable ou servir d'opérande dans une expression.

Pour l'info, voilà ce que dit le manuel à propos de void :

A.6.7 Void
The (nonexistent) value of a void object may not be used in any way, and neither explicit nor implicit conversion to any non-void type may be applied. Because a void expression denotes a nonexistent value, such an expression may be used only where the value is not required, for example as an expression statement (Par.A.9.2) or as the left operand of a comma operator (Par.A.7.18).
An expression may be converted to type void by a cast. For example, a void cast documents the discarding of the value of a function call used as an expression statement.

#2 Scripts, programmes et robots » [Résolu] cast (void) dans une define en C » 17-06-2019 01:19:54

wol
Réponses : 3
Salut,
je m'amusais à parcourir l'implémentation du quick sort dans la bibliothèque GNU C et je suis tombé sur la directive suivante (ligne 59) :

#define PUSH(low, high)        ((void) ((top->lo = (low)), (top->hi = (high)), ++top))


Indépendemment de son rôle dans la programme, je ne comprends ce qu'elle signifie d'un point de vue purement syntaxique. J'ai l'impression qu'il s'agit tout simplement d'une suite de trois expressions, mais je suis très confus par le cast vers (void) au début du define. Qu'est-ce que ça signifie de convertir en void ? scratchhead.gif

Si quelqu'un a une idée, je suis tout ouïe.

#3 Re : Xfce » Résolue : Impossible de changer de fond d'écran sur xfce. » 13-04-2019 13:05:45

wol
Bonjour unit,
Est-il possible que tu aies sélectionné l'option "aucun" pour le style. Si est est pas le cas, xfce mettra la couleur définit sous "couleur" en fond d'écran et tu ne pourras mettre d'image par dessus.
Par ailleurs, sont-ce vraiment les thumbnails des images  dans la fenêtre principale qui sont grisés, ou bien sont-ce les dossiers lorsque tu définis un dossier de référence qui contient tes wallpapers (dans le menu déroulant "dossier" quand tu choisis "autre") ?

#4 Re : Xfce » [Résolu] pas d'option de contrôle du volume sur xfce » 02-04-2019 21:28:36

wol
Bonjour,

merci pour vos réponses à tous smile

j'ai résolu le problème (attention vous allez voir c'est fulgurant). En fait, je me suis rendu compte que pulseaudio n'était tout simplement pas installé par défaut. J'ai mis un moment à en prendre conscience étant donné que xfce proposait quand même d'ajouter le greffon pulseaudio dans le tableau de bord et que le fichier /etc/pulse/client.conf existait déjà avant que j'installe pulseaudio. J'avais donc supposé qu'il était déjà installé roll alors qu'il n'est pas inclus dans xfce par défaut, contrairement à beaucoup d'autres environnements, tels que Gnome ou KDE.

A une prochaine big_smile

#5 Xfce » [Résolu] pas d'option de contrôle du volume sur xfce » 01-04-2019 23:07:12

wol
Réponses : 10
Bonjour,
je viens tout juste d'installer Debian 9.8.0 et je me suis rendu compte que par défaut xfce n'affichait pas d'icône pour changer le volume sur le tableau de bord. J'ai bien essayé d'ajouter l'élément audiopulse sur le tableau de bord, mais le volume affiché par celui-ci n'affecte pas le volume de sortie. Qu'il soit réglé sur 0 ou 100%, le volume de sortie reste le même. J'ai toujours le contrôle dessus via la commande alsamixer, mais régler le son en mode console n'est pas très commode. Y-a-t-il une moyen de contrôler le volume du son directement sur xfce ?

Merci d'avance pour votre aide smile

Pied de page des forums

Propulsé par FluxBB