Forum Programmation.c langage C : pourquoi on ne peut pas allouer la taille d'un tableau pendant l'exécution du programme?

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
12
sept.
2019

bonjour à tous,

si j'ai le code suivant :

void f( int size )
{
    int tab[size];
    ...
}

Le compilateur va retourner une erreur, pourtant en assembleur il est tres facile de réaliser le code ci dessus :
:
push rbp
mov rbp, rsp
sub rsp, eax //avec eax = size

pourquoi en C je ne peux donc pas faire ca. Est ce juste une convention ou alors il y a une raison derriere tout ca ?

Merci d'avance (…)

Forum Programmation.c mettre de l'assembleur dans du C

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
16
août
2019

Bonjour à tous,

dans le seul but de m'amuser j'aimerai afficher du texte sur mon terminal via de l'assembleur dans du C.

Voici mon code :
#include

int main(int argc, char const *argv[])
{   
    const char *str = "coucou\n";
    asm("movq str,%rsi");
    asm("movq $7,%rdx");
    asm("movq $1,%rdi");
    asm("movq $1,%rax");
    asm("syscall");
    return 0;
}

le probleme est ma ligne : asm("movq str,%rsi");
Le terminal me renvoie :
réadressage R_X86_64_32S vers non défini symbole « str » ne peut pas être utilisé en créant (…)

Forum Linux.noyau impossible d'afficher des pixels via le mode reel

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
6
10
août
2019

Bonjour à tous,

voila je suis en train de faire mon petit systeme d'exploitation maison. J'ai réalisé un MBR tres simple qui charge mon noyau dans la RAM (via l'aide du bios) puis je saute à l'adresse de mon noyau. Le noyau par la suite affiche du texte via la carte graphic qui est mappé en mémoire, et ca marche.

Je veux maintenant par ce meme procédé rendre mon écran bleu puis ensuite afficher mon texte. Et la ca ne (…)

Forum général.général question sur la structure du code que fait le compilateur (.text, .bss, .heap ...)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
4
août
2019

bonjour à tous,

voila j'essaye de comprendre la structure d'un programme.
Je suis tombé sur cette image et je n'ai plus rien compris a tout ce que j'avais lu sur le sujet.
voici l'image : image structure code

j'ai lu que la taille de la pile était fixé à 8Mo, donc ca veut dire que meme si je n'utilise que 1 Mo de ma pile, j'aurais quand meme une taille de pile qui utilise 8 Mo sur ma RAM  (…)

Forum Linux.noyau server X et frame buffer.

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
29
juil.
2019

Bonjour à tous,

voila je sais qu'en absence de noyau on peut avec un petit programme fait maison (qui remplace le noyau) afficher directement du code ascii sur notre écran via le frame buffer.
On peut dirrectement communiquer avec la carte vidéo via l'adresse 0x000B8000. Mais on ne peut afficher que du code ascii, je n'ai rien vu pour afficher des lignes droites, ou juste un point au milieux de l'écran.
Peut on réaliser ce genre de chose via le (…)

Forum Programmation.autre aide en assembleur quand je lance objdump -M intel -DTCs ./a.out

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
21
juil.
2019

Bonjour à tous,

Je m'interesse depuis peu à l'assembleur grace à la belle commande objdump. Néanmoins je tombe sur quelques problemes de compréhension au niveau assembleur et j'aurais bien besoin de vos lumieres.

Voici l'extrait de code :

    0000000000000540 <_start>:
     540:   31 ed                   xor    ebp,ebp
     542:   49 89 d1                mov    r9,rdx
     545:   5e                      pop    rsi
     546:   48 89 e2                mov    rdx,rsp
     549:   48 83 e4 f0             and    rsp,0xfffffffffffffff0
     54d:   50                      push   rax
     54e:   54                      push   rsp
     54f:   4c 8d 05
(…)

Forum Linux.général probleme avec ioctl et rtc

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
12
juil.
2019

Bonjour,

voila je dois créer une alarme de 30 seconde via rtc. J'ai donc autorisé l'alarme puis initialisé l'alarme a 30 secondes. Le probleme et que je reste bloqué dans mon read() comme si l'alarme ne déclenchait aucune interruption. Pourtant dans le man il est bien écrit que l'alarme génere une interruption, et il me semble que j'ai bien respecté la documentation.

Je vous montre mon code :

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
(…)

Forum Linux.général récupérer l'image de ma webcam avec /dev/input

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
9
juil.
2019

bonjour à tous,

voila je viens de découvrir /dev/input, et je trouve ca génial de pouvoir lire le clavier ou la souris avec un simple read. Dans /dev/input j'ai un event qui correspond à ma webcam. j'ai donc envie de pouvoir lire le flux video avec le read (etafficher avec opencv l'image par exemple). Le probleme est qu'en paramètre de mon read je donne en argument une structur input_event.
Or le probleme est que la valeur retournée (value) est sur (…)

Forum Linux.général probleme pour désactiver au démarrage gdm

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
6
juil.
2019

bonjour à tous,

voila je ne veux plus que gdm se lance au démarrage. Je me suis donc mis en root et j'ai lancé la commande :
systemctl disable gdm.service

mais quand je fais ensuite
systemctl status gdm.service

le terminal me renvoie :
● gdm.service - GNOME Display Manager
Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
Active: active (running) since Sat 2019-07-06 21:27:05 CEST; 4min 24s ago
Main PID: 1113 (gdm3)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/gdm.service
└─1113 /usr/sbin/gdm3

il (…)

Forum Linux.général probleme avec syslog

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
5
juil.
2019

bonjour à tous,

voila j'essaye d'utiliser l'api syslog mais ca n'écrit pas mon texte "a = 1" dans un fichier.log
j'ai regardé dans mon répertoire courant et aussi dans /var/log mais il n'y a aucun fichier.

Avez vous une idée du probleme ?

voici mon code :

    #include <syslog.h>

    int main(int argc, char const *argv[])
    {
        int a = 1;
        openlog(argv[0], LOG_CONS | LOG_PID | LOG_NDELAY, LOG_USER);
(…)

Forum Linux.général question sur systemd

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
29
juin
2019

Bonjour à tous,

voila j'ai quelques interrogation sur ce que j'ai compris de systemd.

systemd va pendant son exécution regarder les fichiers de configuration dans le repertoire /etc/systemd/system/ et dans /lib/systemd/system (alors pourquoi il y a deux endroits ?) puis va regarder ce qu'il doit faire. Si je prend l'exemple du fichier de configuration rc-locale.service :

[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

on voit que systemd va lancer le script /etc/rc.local, dans mon (…)

Forum Linux.général afficher une fenetre sur une fenetre avec la lib X11

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
25
juin
2019

Bonjour,

je souhaite afficher une fenetre sur une fenetre parent. Mais elle n’apparaît pas alors que le background est différent.

Je vous montre mon code :

    #include <X11/Xlib.h> 
    #include <unistd.h>  
    #include <stdio.h>
    #define NIL (0)      

    void main()
    {
          // Open the display

          Display *dpy = XOpenDisplay(NIL);

          int blackColor = BlackPixel(dpy, DefaultScreen(dpy));
          int whiteColor = WhitePixel(dpy, DefaultScreen(dpy));

          // Create the windows

          Window w =
(…)

Forum Linux.général impossible de trouver le port du server X

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
18
juin
2019

Bonjour,

D'apres ce que j'ai compris, tous les programmes qui souhaitent afficher graphiquement des interfaces doivent se connecter en TCP sur le port 6000 en localhost pour communiquer avec le server X.

J'ai donc testé les ports utilisés en localhost via la commande :

nmap 127.0.0.1 -p-

et le programme me retourne

PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
50200/tcp open unknown
50201/tcp open unknown
50202/tcp open unknown

Or (…)

Forum Linux.débutant question sur les arguments que l'on donne aux commandes

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
14
juin
2019

Bonjour,

Si je veux afficher tous les fichiers de mon répertoire courant j'ajoute à la commande ls l'argument -a. Et dans la plupart des arguments que l'on donne aux commandes on a des tirets. Mais dans certaines commandes on met aucun tiret dans les arguments comme par exemple systemctl status ou l'argument status n'a pas de tiret

Pourquoi certain programme ne respecte pas la norme avec le tiret

merci d'avance