[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #include <X11/XKBlib.h> 2 #include <X11/extensions/XKB.h> 3 #include <X11/keysym.h> 4 5 int main () { 6 Display *disp = XOpenDisplay(NULL); 7 if(disp == NULL) return 1; 8 unsigned int nl_mask = XkbKeysymToModifiers(disp, XK_Num_Lock); 9 XkbLockModifiers(disp, XkbUseCoreKbd, nl_mask, nl_mask); 10 XCloseDisplay(disp); 11 return 0; 12 } 13 14 /* 15 Je n'y connais pas grand chose en C. J'ai trouvé des informations ici : 16 http://www.siteduzero.com/tutoriel-3-31992-compilez-sous-gnu-linux.html 17 18 Paquet à installer pour que la compilation fonctionne : 19 libx11-dev 20 21 1) Compilation sans inclure les bibliothèques dynamiques (*.so) dans le binaire : 22 # Avec « -l X11 », on signale à l'éditeur de liens qu'il pourra utiliser la bibliothèque X11. 23 gcc -l X11 <file.c> -o <file.exe> 24 25 2) Compilation en incluant les bibliothèques dynamiques (*.so) dans le binaire : 26 # Avec « -l X11 », on signale à l'éditeur de liens qu'il pourra utiliser la bibliothèque X11. 27 gcc -l X11 -c <file.c> -o <file.o> 28 # Ensuite on compile le fichier objet en incluant les bibliothèques statiques (*.a) 29 gcc <file.o> /usr/lib/libX11.a /usr/lib/libxcb.a /usr/lib/libXau.a /usr/lib/libXdmcp.a -o <file.exe> 30 31 Rq1: apparemment, il ne vaut mieux utiliser la solution 1), ie ne pas inclure 32 les bibliothèques dans le binaire car : 33 - ça sert à ça justement. Les bibliothèques sont présentes 34 sur le système hôte et sont appelées par le binaire quand c'est nécessaire. 35 - ça peut être source de problèmes. Si on inclut une bibliothèque 36 dans le binaire, celle-ci peut ne pas être compatible avec le système 37 hôte et il vaut mieux que le système hôte appelle sa propre bibliothèque 38 (à condition que celle-ci soit présente bien sûr). 39 40 Rq2: la compilation est à faire sur un système 32 bits et sur un système 64 bits 41 afin d'avoir un binaire compatible 32 bits et un autre binaire compatible 42 64 bits. 43 44 45 Rq3: pour savoir si le système est 64 bits ou non : 46 $ grep '^flags' /proc/cpuinfo | grep 'lm' 47 Il faut que les lignes contiennent le flag « lm ». 48 Attention, le flag « lahf_lm » lui n'a rien à voir. 49 Il faut le flag « lm » tout court. S'il n'est pas présent, 50 alors le système n'est pas 64 bits et donc il est 51 très probablement 32 bits. 52 */
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |