Forum Programmation.c Liste de fichiers avec des jokers sous Linux

Posté par  (site web personnel) .
Étiquettes : aucune
1
10
sept.
2008
bonjour,

existe-t-il, sous Linux, une lib ou un algo qui permet de retrouver les fonctions présentes dans le header io.h de Metrowerks Standard Library

_findfirst(), _findnext(), _findclose() ...

ces fonctions permettent de construire une liste de fichiers suivant une expression régulière contenant des caractères joker ( ex: *.linux??.txt )

je tourne actuellement autour de fnmatch() et glob() ... mais j'aimerais trouvé le couteau suisse !

Forum Programmation.c Java et C/C++

Posté par  (site web personnel) .
Étiquettes : aucune
1
13
nov.
2008
Bonjour,

Je voudrais savoir s'il existait des projets permettant de compiler du code C et/ou C++ vers du bytecode Java. je précise bien que je ne parle ni tout ce qui touche à la JNI (qui permet de faire appel à du code machine à partir de la JVM) ni de tout se qui touche à des outils comme GCJ (qui compile du java vers du code machine hôte)

Grosso modo, je voudrais savoir s'il existe un projet qui me (…)

Forum Programmation.c capture wireshark sous archi 64 bits et type "long"

Posté par  .
Étiquettes : aucune
1
2
déc.
2008
Bonjour tout le monde,

J'ai un problème: je dois lire des captures de paquets UDP enregistrés par wireshark ou tshark. Entre chaque paquets capturé est inséré une petite structure qui contient un long. Et ce long vaut 32 bits sur une archi 32 bits, et 64 bits sur une archi 64 bits. Jusque la tout va bien.

Le problème est que je dois lire un tel fichier, et que je ne sais pas a priori si les traces viennent d'une (…)

Forum Programmation.c Cherche projet à coder en C uniquement avec la libc standard

Posté par  .
Étiquettes : aucune
1
12
mar.
2009
Bonjour,

Je suis actuellement dans un cursus de Physique (second cycle, M1).

je dois faire un projet en C, mais je ne sais pas quoi écrire. Le cours porte essentiellement sur la librairie standard, donc je ne peux pas (ou ne veux pas) utiliser de bibliothèque tierce.

Je n'ai pas non plus énormément d'heures.

Je voudrai donc écrire un programme sympathique, qui soit éventuellement en lien avec la science, qui nécessite ~2000 lignes de code (si vous pensez que ça (…)

Forum Programmation.c Manipulation rapide et légère de données structurées binaires

Posté par  (site web personnel) .
Étiquettes : aucune
1
29
avr.
2009
Cher journal, imaginons que j'ai un programme qui doivent exploiter des données binaires structurées. Genre des paquets avec un header structuré, des données arbitraires de taille variable spécifiée dans le header, et un footer structuré. Structures connues et tout. Imaginons que je veuille accéder (lecture/écriture) aux différents champs contenus dans les différentes structures. "Facile" qu'on peut répondre : il suffit de définir les struct { }; qui vont bien en C et le compilateur fait le reste...

Certes, mais ce (…)

Forum Programmation.c Driver d'acces mémoire et mode user

Posté par  .
Étiquettes : aucune
1
3
nov.
2009
Bonjour,


dans le cadre d'un projet j'essaye d'optimiser une application qui accède à une mémoire via un driver sous linux 2.4.26 (distribution Arabella pour une carte embarquée).

- Le driver est un développement spécifique qui lit et écrit dans une RAM avec les fonctions read/write. Il est chargé au démarrage avec un 'insmod'.

- L'applicatif transmet à répétition des blocs de données vers le driver avec les fonctions pread / pwrite.

Le problème est que ces appels à répétition du (…)

Forum Programmation.c Ré-écrire wget

Posté par  .
Étiquettes : aucune
1
14
nov.
2009
Bonjour,

je suis en train de réfléchir à un petit programme (écrit en C) qui doit récupérer le code html d'une page web.
Mais, j'ai envie de pas utiliser la commande wget mais plutôt uniquement des appels systèmes. Comme par exemple open, write et autre joyeuseries.
Mon problèmes et je ne connais pas les appels systèmes qui sont suceptibles de m'interrésser.
J'ai bien récupéré le code de wget mais, les sources sont assez conséquente et je me vois mal éplucher (…)

Forum Programmation.c Envoi des commandes en HEXA au port Usbserial (/dev/ttyUSB0)

Posté par  .
Étiquettes : aucune
1
14
déc.
2009
Bonjour,

j'utilise un logiciel qui communique avec le port COM sur Linux en envoyant et recevoir un ensembles de messages.

Pour tracer les messages, j'utilise un sniffer qui me donne les messages envoyés et reçus au port en HEXA.

Ce que je cherche, c'est renvoyer la même séquence de messages mais sous Linux, à l'aide d'un petit programme en C qui ouvre le port série /dev/ttyUSB0 et écrit sur lui.

Mon problème c'est comment écrire sur le port les messages (…)

Forum Programmation.c pthread : multi-processeur/multi-cœur ?

Posté par  .
Étiquettes : aucune
1
12
jan.
2010
Salut,


Mon programme est codé en C, utilise les thread POSIX de la lib pthread.
Il créer plusieurs thread, un thread par client connecté en TCP/IP.

Ma question : dois-je faire quelques choses pour que chaque thread s'exécute sur un processeur / cœur différent ? si oui, comment optimiser ?

Merci.

Forum Programmation.c Problème avec select et pipe

Posté par  .
Étiquettes : aucune
1
10
mar.
2010
Bonjour à tous,

Pour un de mes projets, j’ai eu à faire communiquer deux programmes à l’aide d’un pipe. Rien de bien sorcier. Puis, j’ai eu besoin de gérer le timeout. J’ai tenté de le faire avec select (toujours rien de magique), et à ma grande surprise… ça ne fonctionne pas !

Voici mon code, simplifié le plus possible. C’est une utilisation basique de select(), et je ne vois pas comment j’ai pu me planter là dedans. Si quelqu’un arrive (…)

Forum Programmation.c plusieurs textdomains pour un gettext

Posté par  (site web personnel) .
Étiquettes : aucune
1
10
sept.
2010
Bonjour,

Mon programme utilise plusieurs domaines de traduction : un dans le cœur et un dans un module. Quand le cœur se charge, il fait un textdomain() sur son domaine, puis quand le module se charge, il fait de même. Le problème est qu'une fois que le module le fait, les textes du cœur ne sont plus traduits.

J'ai vu qu'il était possible d'utiliser plusieurs domaines en utilisant dgettext() et en lui passant le domaine en paramètre, mais cette solution est (…)

Forum Programmation.c Effacer un pointeur fournit par une librairie externe

Posté par  .
Étiquettes : aucune
1
10
nov.
2010
Salut,

J'ai un code en C++ qui appelle une libraire C qui me retourne un tableau


while(...){
tmp tab =GetMachinTruc()
//DoSomething
}


où GetMachinTruc vient de la librairie C

dans le code de UINT16* GetMachinTruc()

tab=malloc()...
return tab


Donc j'ai donc mon tmptab qui est alloué dans GetMachinTruc
ce qui me donne sachant que je suis dans une loop une grosse fuite de mémoire.
Si je fait

while(...) {
UINT16* tmptab=GetMachinTruc
//Do Something with tmptab
free(tmptab)
}

J'ai droit a (…)

Forum Programmation.c Supprimer tous les appels d'une fonction dans l'ensemble du code source

Posté par  .
Étiquettes : aucune
1
27
jan.
2011
Bonjour,

Sur un code source donné (en l’occurrence le code source du driver realtek r8192), je souhaite retirer tous les appels à la fonction printk().

J'ai d'abord pensé à utiliser sed & co pour supprimer les lignes, l'ennuis, c'est que parfois les appels à la fonction s'étendent sur plusieurs lignes, ce qui complique pas mal les choses.

Je précise que je veux vraimentsupprimer les appels, pas juste augmenter la verbosité du message et configurer le gestionnaire de log pour (…)

Forum Programmation.c C et GTK

Posté par  .
Étiquettes : aucune
1
6
fév.
2011
Bonjour,

je suis en train d'écrire un logiciel en GTK, j'ai le "cœur" en C (pour le moment tout se lance avec les **argv), et et la partie GTK à part.
C'est la première fois que je développe un truc avec une partie graphique, et je ne sais pas trop comment fusionner les deux. En mélangeant tout ça devient vide assez bordélique, et je doute qu'il s'agisse de la bonne manière de faire.

Pourriez vous m'aider ?

Je suis aussi (…)

Forum Programmation.c Liaison série gestion de lecture des signaux de contrôles DSR / CTS avec termios

Posté par  (site web personnel) .
Étiquettes :
1
18
août
2011

Bonjour à tous,

Je sèche un peux sur l'algo de programmation d'une liaison série de type RS232 en utilisant termios pour lire le changement d'état des signaux DSR /CTS.

Dans le cas d'un PC standard linux sur x86 je souhaiterai lire l'état des signaux de contrôles par interruption et non en scrutant toutes les 3ms. Je souhaiterai que ma fonction getDSR soit bloquante et réveillé seulement sur changement d'état. Mais je ne vois pas comment faire ça. Donc je viens (…)

Forum Programmation.c Signaux C PHP UID et permissions

Posté par  .
Étiquettes : aucune
1
31
jan.
2012

Bonjour a tous
Je veux creer un processus en C qui repond à des requetes PHP
J'ai choisi de les faire communiquer avec des pipes nommés. Je souhaite utiliser pour cela SIGUSR1 pour dire au processus qu'il y a une requete PHP en attente.
Php a le UID 33 et le GID 33. Quand je lance mon processus, je peux le lancer en root ou avec mon UID 1000. Je me suis par ailleurs ajouté au groupe 33. (la commande (…)

Forum Programmation.c XLib: XGetImage sur une Window

Posté par  .
Étiquettes : aucune
1
31
août
2012

Bonjour,

J'essaie de capturer l'image d'une fenêtre X11 (une sorte de screenshot dans le code).
J'ai bien récupéré le Display et l'identifiant de la Window.
J'arrive également à récupérer les infos (notamment width et height), mais j'ai une erreur BadValue lors du XGetImage.

Voici l'extrait de code concerné:

XWindowAttributes winAttr;
XGetWindowAttributes(_display, _window, &winAttr);
XImage * image = XGetImage(_display, _window, 0,0, winAttr.width,winAttr.
(…)

Forum Programmation.c Compiler pour Windows avec MinGW (résolu)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
1
21
mar.
2013

Salut, j'aimerais compiler un code pour Windows avec MinGW mais je n'arrive à rien que se soit sous Windows ou Linux. J'ai passé une après-midi entière à tenter de compiler le code avec NetBeans et Code Blocks mais sans succès. Sous Linux, j'ai installé MinGW mais quand je tente d'ajouter le compilateur à la configuration de NetBeans, il me dit qu'il ne trouve rien. J'ai essayé plusieurs versions de MinGW mais c'est toujours le même résultat, alors j'avoue que je (…)

Forum Programmation.c Utiliser le terminal Linux pour compiler en C

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
4
juin
2013

Bonjour, je dois réaliser un programme en C sur Linux. Je sais que pour compiler en utilisant le terminal, il faut passer par ces étapes là:

gcc -c exemple.c
gcc -o exemple exemple.o
./exemple

Le fichier .c que je compile doit ouvrir un fichier (fopen, …). Je fait donc un printf("Entrez le nom du fichier") dans mon programme. Cependant, je voudrai savoir s'il est possible, directement sur le terminal, de faire appel à mon fichier tout en passant l'argument, comme (…)

Forum Programmation.c retour de system("echo $?"); inattendu

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
21
oct.
2014

Bonjour à tous,

Je tente d'écrire un (N ième :-)) programme de recherche de mot de passe pour fichier .rar par force brute.

Le principe est de tester un mot de passe et d'analyser le retour .
Ainsi,si, dans une console , je rentre :

Bash shell scripts
moi@MonPc:~$ unrar e -y -p_mot.de.passe_ monFichier.rar

la fonction unrar se déroule normalement en confirmant selon le cas, que le mot de passe est correct ou non.
Ensuite, la commande :

Bash shell (…)

Forum Programmation.c Système

Posté par  . Licence CC By‑SA.
Étiquettes :
1
23
oct.
2015

Salut je bricole du C dans mon garage.

Mon but c'est d'empécher l'utilisateur d'un programme de faire un Ctrl + C pendant une tâche critique.

Donc j'ai trouvé la fonction sigprocmask qui permet de manipuler(edit : bloquer) certains signaux du système.

Ca fonctionne bien mais je ne comprend pas pourquoi je récupère la main sur le terminal malgrès que j'ai mis un blockage du signal SIGHUP.

Par contre l'execution n'est pas interrompu et c'est ce que je voulais.

Forum Programmation.c Apprentissage d'OpenGL

Posté par  . Licence CC By‑SA.
1
30
oct.
2015

Bonjour,
J'ai envie d'apprendre à coder un petit moteur 3d.

Le problème, c'est qu'il y a beaucoup de tutoriel, et le choix est compliqué.
De ce que j'ai compris, OpenGL 3 et 4 sont proches, tandis qu'OpenGL 2 est très ancien.

Parmi ceux que j'ai trouvé, celui ci me semble très bon.
http://opengl.developpez.com/tutoriels/opengl-tutorial/

Que pensez-vous de ce dernier?
Est-ce que cela vous semblerais trop compliqué pour un débutant en 3d (même si il est clair)?

Merci beaucoup

Forum Programmation.c #define une partie de nom de fonction

Posté par  . Licence CC By‑SA.
Étiquettes :
1
18
mar.
2017

Bonjour,

J'ai une librairie avec des noms de fonction inutilement longs :

void pifacecad_lcd_clear (void)
void pifacecad_lcd_home (void)
void pifacecad_lcd_display_on (void)
void pifacecad_lcd_display_off (void)
void pifacecad_lcd_blink_on (void)
void pifacecad_lcd_blink_off (void)
void pifacecad_lcd_cursor_on (void)
etc…
(C'est une librairie pour piloter un afficheur LCD avec un Raspberry Pi)

Pour simplifier l'édition du programme, j'ai voulu faire ceci :

#define pifacecad_lcd LCD

puis taper mes fonctions ainsi :

LCD_clear()
LCD_home()
etc…

Mais ça ne marche pas. La substitution se fait pour un nom (…)

Forum Programmation.c pre-release de it-edit version 3.0

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
1
20
mar.
2017

Bonjours les GNU/Linux users,

je vous annonce de part ce présent message la pre-release de it-edit version 3.0.

L'éditeur avec terminaux intégrées revient car de trop nombreux troubles dans la maintenance

Gtk-3 m'ont mener a écrire cette nouvelle version de it-edit.

Car il y avait dans la dernière version 2.91 de trop nombreux bugs a cause des aléas de l'évolution de gtk-3.


Ceci étant une pre-release dans le but que vous testiez le bon (…)

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 (…)