Forum Programmation.c [Résolu] OpenGL GLUT référence indéfini

Posté par  . Licence CC By‑SA.
Étiquettes :
0
14
août
2020

Salut à tous :)

Finalement il suffisait de rajouter -lglut à la ligne de compilation

J'ai le problème référence indéfini lorsque je compile
J'ai installer freeglut3-dev donc normalement je suis capable de faire fonctionner ce code (enfin je crois) :

#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/freeglut.h>
#include <GL/glx.h>
#include <GL/gl.h>

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); 
    glutInitWindowSize(1024,
(…)

Forum Programmation.c essayer de recupérer l'adresse de retour d'une fonction

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
6
22
juil.
2020

bonjour à tous,

J'essaye de récupérer l'adresse de retour stockée dans la pile puis de faire un jump sur cette adresse afin de revenir à mon main, je vous montre mon code puis vous explique ma démarche :

    int addOne ( int value )
    {
        char * ptr = (char*)&value; // la variable value est situé a RBP-0x14
        void (*adresseDeRetour) (void) = (ptr + 28);
        adresseDeRetour();
(…)

Forum Programmation.c petit probleme avec gdb et la structure pthread_mutex_t

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
25
mai
2020

Bonjour à tous,

voila je me suis fabriqué un petit programme qui fait un deadlock (via 2 threads). puis ensuite avec gdb je regarde à quelle instruction est mon programme (via backtrace), j'ai :

#0  __lll_lock_wait ()
    at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f623ede4023 in __GI___pthread_mutex_lock (
    mutex=0x5571dcb2c040 <mutexDeCosmoff>)
    at ../nptl/pthread_mutex_lock.c:78
#2  0x00005571dc92b89b in callback1 ()
#3  0x00007f623ede16db in start_thread (arg=0x7f623e9e8700)
    at pthread_create.c:463
#4  0x00007f623eb0a88f in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

je constate donc que mon thread est bloqué par le mutex : mutexDeCosmoff (…)

Forum Programmation.c Communication entre processus avec pipe() et dup2().

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
28
fév.
2020

Bonjour,

Je souhaite écrire un programme en C, qui permet d'enregistrer toutes les entrées/sorties d'un bash.
Mon idée est de créer un nouveau processus "enfant" qui va lancé le bash.
Le processus "parent" va s'occuper d'enregistrer les entrées/sorties du processus "enfant".
Pour l'instant j'essaye seulement de connecter STDIN du père a STDIN du fils et STDOUT du fils a STDOUT du père.

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

#define BUFF_SIZE 1024
#define NB_PIPE 2

int main(int argc,
(…)

Forum Programmation.c Sonar Qube faux positif…

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
26
fév.
2020

Bonjour,

J’ai un soucis, sonarqube me dit que je peux écrire en dehors d’un tableau… Je vous montre le code.

   condition = (index < taille_max);

   checkCondition(condition);

   (appelDeHook[index])(parametres);

En gros il me dit que si index >= taille_max, alors appelDeHook[index] tape à l’extérieur du tableau. Ce qui n’est pas faux, sauf que checkCondition est implémentée comme suis :

void checkCondition(int condition)
{
    if (!condition)
(…)

Forum Programmation.c tableau en c

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
7
déc.
2019

bonjour a toutes et a tous!
je suis étudiant debutant en langage de programmation c, j'ai besoin de votre aide.

j'ai fait un programme avec code block où il est demandé d'initialiser un tableau de 5 entiers et de rechercher le minimum du tableau et son indice;
j'ai fait mais juste que le resultat ne me convainc pas 100%. ca c'est le programe.

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int tab[5];
  int min;
  int
(…)

Forum Programmation.c Sécurité lors de la déclaration d'un pointeur

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
8
nov.
2019

Bonjour,

J'ai ce petit code ou je déclare deux pointeurs tableau je veux savoir si juste la déclaration et l'affectation peut donner le mauvais accès à la mémoire réservée par ce pointeur ou c'est après la mauvaise utilisation de malloc qui peut causer le vol de données ou l'injection de mauvaise données.

Mon code C:

void mafonction(int* tab1, int* tab2, int len) 
{ 

int i; 
for(i = 0; i
(…)

Forum Programmation.c probleme avec le fonctionnement d'un thread

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
13
oct.
2019

bonjour,

voila je vous poste mon code ca sera plus simple pour la suite d'expliquer mon probleme.

    #include <stdio.h>
    #include <stdlib.h>
    #include <pthread.h>
    #include <unistd.h>

    void* f(void * arg)
    {
        int value = *((int*)arg);
        fprintf(stdout, "thread : &value  = %p ; value = %i\n", arg, value);

    }

    int main(int argc, char const *argv[])
    {
        pthread_t t;
(…)

Forum Programmation.c ASCII, ncurses, souris

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
13
sept.
2019

Bonjour à tous,

Je souhaite mettre à jour un éditeur de texte, fonctionnant en mode console (sans interface graphique), traitant le jeu ASCII, que j'ai écrit, en C, et dont voici l'histoire résumée :
1983 : Première version sous MS-DO, écran géré par accès direct en assembler. Il tenait sur 64 Ko, et pouvait gérer des fichiers de 32768 lignes d'au maximum 128 caractères. Pas d'utilisation de la souris.
1990 : Portage sous SCO UNIX, écran géré par curses, portage (…)

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 tableau,structure,pointeur.

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

Bonjour a toutes et a tous,
Je souhaiterai modifier ce code afin d'utiliser non pas "menbre1, menbre2 etc… mais plutot un tableau qui contiendrai chacun de mes menbres . Voici le code:

#include <stdio.h>
#include <string.h>

typedef struct famille
{ int age;
  char surnom[20];
  char nom[20];
}famille;
/*-----------------------*/
void changement(famille *m)
{ m->age=18;
  strcpy(m->surnom,"plouf");
  strcpy
(…)

Forum Programmation.c ma j'galère sur un simple free sur un string

Posté par  . Licence CC By‑SA.
Étiquettes :
0
28
août
2019

Salut à tous,
j'ai acheté le livre de Christophe Blaess ( en personne ) sur la programmation système.
Je suis tombé sur un truc intéressant page 695-696-697 du bouquin dans le chapitre 23 intitulé "Communication classique entre processus" concernant une "possibilité rarement proposée par les shell". Selon moi, à première vue, il s'agissait seulement de ce à quoi pourrait faire face un simple fichier ".sh". Mais en me penchant un peu sur la question, je me suis rendu compte des (…)

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 Programmation.c structure dans une fonction sans pointeur

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
10
mai
2019

Salut,

J'aimerai passé une structure comme argument sans pointeur dans une fonction:

j'ai fait cet essai et il marche bien
mais je veux savoir si c'est bien de ne pas utiliser les pointeurs et est ce que cet un code juste

Mon code C:

 struct number
{
int x;
int y;
};
 struct number number;


void numberfun(struct number g); 


int main ( int argc, char** argv )
{

  struct number p ;
(…)

Forum Programmation.c (webassembly) transfère de plusieurs variables du code C au javascript

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
28
avr.
2019

Salut,

J'ai une fonction dans mon code C où plusieurs variables changent et je veux passer ces modifications au javascript après avoir converti mon code C en wasm.

J'ai vu sur Internet que CCALL et CWRAP peuvent le faire mais pour une seule variable pas pour plusieurs en même temps.
Comment puis-je exporter plusieurs variables en même temps?

Merci d'avance.

Forum Programmation.c Envoi données vers API Domoticz en C

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
26
avr.
2019

Bonjour,

Je dispose d'un onduleur solaire SMV II 3K et je souhaites récupérer les informations utiles via le port USB vers Domoticz. J'ai réussi à trouver un projet sur le GitHub qui pourrai surement aider à cette tache mais je n'y connais pas grand chose en C.

Le projet s'appelle : skymax-demo disponible ici https://github.com/manio/skymax-demo

Après avoir suivi les instructions de compilation, j'ai bien les informations de mon onduleur :

Je souhaite donc modifier le programme afin qu'il envoi les (…)

Forum Programmation.c difference entre mmap() et read()

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
23
avr.
2019

Bonjour à tous,

voila si je veux lire un fichier je peux faire :

int fd = open("fichier_a_lire.txt", O_RDONLY);

et ensuite je peux faire :
read(fd, buffer, 256);

ou faire
void* addr = mmap(NULL,length_of_fichier_a_lire,…, fd, 0);
strncpy( buffer, addr, 256);

mais c'est quoi le mieux?
dans les deux cas le fichier est chargé en RAM par le noyau via l'appel systeme open, donc pourquoi s’embêter avec mmap ?

merci de vos éclaircissements

Forum Programmation.c probleme de compréhension avec la socket (local)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
13
mar.
2019

Bonjour à tous,

j'avais testé de communiquer avec des processus via des tubes nommés et le principe de fonctionnement était tres compréhensible, si je voulais communiquer avec deux processus j'ouvrai un tube nommé sur mon programme serveur, et j'attendais que le client envoie un message sur le tube nommé du serveur. Le message qu'envoyait le client était le tube nommé du client, et je pouvais ainsi communiquer: Je fesais l'appelle systeme read sur le descriptor de fichier du tube nommé (…)