tiens, pendant que j'y suis - ca m'est brusquement revenu :) -, type est pas mal :
sh-3.00$ alias zip="echo Ceci n\'est pas `which zip`"
sh-3.00$ which zip
/usr/bin/zip
sh-3.00$ type -p zip
sh-3.00$ zip
Ceci n'est pas /usr/bin/zip
sh-3.00$
> en fait les include "toto.h" indiquent qu'il faut chercher dans le chemin ou tu
> as ton .c (ou cpp) (en gros).
>
pas que en gros, les "" indiquent qu'il faut chercher avec un chemin relatif a partir de la ou est le .c
> et le include <toto.h> indique bien qu'il faut aller chercher dans les chemins par > défaut de gcc ou des bibliothèques standards.
>
pas seulement, en fait avec des <>, le compiateur cherche dans tous les chemins definis avec l'option -I (d'ou les ../../include dans le makefile) ; quand il a parcouru tous les repertoires indiques par -I, il cherche dans les "standard system include directories"
pour le 1, si tes variables sont de type char*, ca suffit, le const dans le prototype de la fonction indique juste au compilateur de verifier qu'on ne modifie pas le contenu
pour 2, la memoire est repartie en 3 bloc, le tas (malloc, allocation des variables losr de l'appel de fonction, ...), la pile utilisee pour allouer la memoire pour le passage des parametres des fonctions, et un 3eme truc (j'ai pas de memoire pour le nom :/ ) qui est utilise pour les variables globales ou du main
donc saisie est dans ce 3eme espace, et prend 80*sizeof(char) octets, si tu declare saisie comme : char *saisie, la variable ne prend que sizeof(char*) octets, mais apres tu dois faire saisie=(char*)malloc(80*sizeof(char)) pour allouer de l'espace, a ce moment la, la memoire n'est plus prise dans le 3eme espace, mais dans le tas...
enfin, pour strtok, la fonction remplace tous les delimiteurs (ici seulement ' ') pas un \0 (fin de chaine), il faut faire une boucle sur avec un strtok pour recuperer tous les elements separes un par un
ben pas trop en fait, >& permet de diriger stdout et stderr sur le mm fichier (/dev/null),
donc je dirais que son pb ne vient pas du script en lui mm (en remplacant psybnc par echo ca marche tres bien chez moi), mais de la variable $CONF qui n'est pas init... (d'ailleurs ca serait mieux de l'utiliser aussi dans le start, et pas seulement le restart)
apres je ne sais pas comment fonctionne psybnc si on ne lui file pas d'argument... mais je dirais qu'il sort en erreur, et le shell le dit tout tranquillement...
qd tu dis que pour ameliorer les scores de reco, il faut par exemple pour un a ecrit considerer qu'il s'agit d'un a a x% ou d'un o a y%, d'un e a z%... en fait tu vas "juste" faire un modele probabiliste, et apres effectivement il faut maximiser la proba totale du mot (ou de la phrase) : en fait il s'agit de maximiser l'entropie (ou la perplexite).
le sujet de recherche a commence il y a lgtps deja (shannon en 1951), et reste encore actif apparement...
en esperant que tu pourras eviter du travail en regardant les travaux deja effectue
diminue (en fait augmente) de 20 la valeur de la priorite du processus agetty sur tty6, dc si tu lance ton programme avec un utilisateur normal, tu ne pourras descendre en dessous de 0, ce qui fait que la console 6 sera toujours plus prioritaire (quel que soit le scheduler)
qd j'appuie sur la touche 'o' ca me fait apparaitre le temps, une autre pression, et j'ai le temps total, une derniere, et ca disparait, tu peux aussi essayer ca :)
on peut imriquer des backquotes en les protegeant, c'est un peu plus penible, mais ce qu'on perd en souplesse, on le gagne en protabilite (enfin, c'est ce que je pense, je n'ai pas essaye $() sur un sh posix non gnu)
mkdir -p rep cree le repertoire 'rep' s'il n'existe pas, ne fait rien sinon, a mon avis, c'est plus simple et plus joli que de faire un test
basename permet peut etre de faire ce que tu fais qd tu supprime l'extension & co (en fait peut etre pas, si l'extension n'est pas fixe :/ )
et pour recuperer le nombre de fichier deja cree pour une societe, un ls -l | wc -l me semble plus simple que de faire les manips sur le dernier fichier, ce qui donne :
d=`EXPR \`LS -l | WC -l\` \+ 1`
ah oui, essaye d'utiliser une variable pour les appels a des binaires, ca permet d'eviter un alias du type ls='ls -a' qui donne un resultat foireux avec ma methode (en l'occurence, la j'aurais EXPR=/usr/bin/expr LS=...)
deja, je previens que je ne vais pas repondre a la question :/
sans vouloir etre mechant, je ne comprends pas bien pourquoi tu veux absolument utiliser des tas, et des algo ayant une complexite imposee, sans connaitre justement ces algos repondant au probleme.
en general, on essaye de faire un truc naif, et comme c'est trop long (en temps ou en taille), on utilise une structure de donnee particuliere car elle permet de gagner sur tel ou tel point qui pose probleme avec la solution naive.
alors la, vouloir commencer avec une sdd donnee, et ne pas connaitre ou pas savoir sur quoi elle va faire gagner, me fait penser que le probleme est soit mal pense, soit les infos donnees sont volontairement reduite. dans les 2 cas, les reponses risquent souvent d'etre des rtfm & co :/
les adresses (pointeurs) ne sont pas des unsigned int, la taille d'un int et d'un unsigned int est la meme, et sur l'archi 64 bits, on voit qu'un int est de 4 octets, et un pointeur de 8 octets (attention, je ne dit pas que c'est le cas sur tous les proc 64b, c'est juste le cas sur mon exemple...)
dc dans ton prog, la taille de addr n'est pas focement la taille d'un int (ce que tu utilise par le %d des printf), ni celle dun unsigned int (%u), sur mon athlon 32 bits, c'est le cas, mais c'est pas forcement une verite absolue...
enfin, comme dis dans un autre commentaire, un cast et ca repart... le codage de l'adresse n'intervient pas, il suffit de bien utiliser la valeur (dc connaitre le codage intervient en fait ^^ )
ensuite, il faut aussi voir que l'adresse que tu obtiens avec le malloc, c'est une adresse "virtuelle", plusieurs processus peuvent obtenir une meme adresse, et ecrire a des endroits differents dans la memoire, mais a mon avis, ca ne concerne en rien ton probleme, c'est juste au noyau de se debrouiller avec...
je ne repond pas a ton pb, mais l'adresse n'est pas negative, c'est quand tu fais ton printf avec un %d que tu la vois comme ca, je te dirais donc pour te rassurer d'utiliser %ld pour afficher des variables de "grande" taille :
$ cat foo.c
#include <stdio.h>
int main()
{
printf("%d %d\n", sizeof(void*), sizeof(int));
}
sur une archi 64 bits :
$ gcc foo.c && ./a.out
8 4
sur une archi 32 bits :
$ gcc foo.c && ./a.out
4 4
[^] # Re: Doom 3 en français sous Linux
Posté par adibou . En réponse au journal Doom 3 en français sous Linux. Évalué à 1.
sh-3.00$ alias zip="echo Ceci n\'est pas `which zip`"
sh-3.00$ which zip
/usr/bin/zip
sh-3.00$ type -p zip
sh-3.00$ zip
Ceci n'est pas /usr/bin/zip
sh-3.00$
# Re: Doom 3 en français sous Linux
Posté par adibou . En réponse au journal Doom 3 en français sous Linux. Évalué à 1.
sh-3.00$ alias zip="echo Ceci n\'est pas `which zip`"
sh-3.00$ which zip
/usr/bin/zip
sh-3.00$ zip
Ceci n'est pas /usr/bin/zip
sh-3.00$
[^] # Re: dans ce cas...
Posté par adibou . En réponse au message parseur vhdl. Évalué à 2.
$ echo "la phrase du monsieur" | awk '{print $5,$9,$11,$24}' | sed s/\ /\+/g | xargs echo "http://www.google.fr/search?q="
comment ça j'en dis trop ?
[^] # Re: ligne de commande ou interface graphique?
Posté par adibou . En réponse au message Séparation vidéo?. Évalué à 2.
[^] # Re: héhé
Posté par adibou . En réponse au message Acces ssh via une passerelle sur laquelle mon compte est bloque. Évalué à 1.
et pour initier une connexion depuis un reseau entreprise/universite/... il faut qd mm bien lire la chartre, c'est pas forcement autorise :)
[^] # Re: Tiens
Posté par adibou . En réponse au journal Domaines .be gratuits pour un an. Évalué à 2.
[^] # Re: désolé, mais fallait chercher
Posté par adibou . En réponse au message De l'aide pour installer amule svp, c'est pour un débile mental qui comprends pas linux.... Évalué à 2.
tu verras au fil des pages que ca revient assez souvent le ./configure && make && make install
ensuite ca deviendra bcp plus clair :)
mais je pense effectivement que le plus simple pour l'instant c'est de prendre le package tout fait de ta distrib
[^] # Re: la différence...
Posté par adibou . En réponse au message syntaxe des fichiers include. Évalué à 6.
> as ton .c (ou cpp) (en gros).
>
pas que en gros, les "" indiquent qu'il faut chercher avec un chemin relatif a partir de la ou est le .c
> et le include <toto.h> indique bien qu'il faut aller chercher dans les chemins par > défaut de gcc ou des bibliothèques standards.
>
pas seulement, en fait avec des <>, le compiateur cherche dans tous les chemins definis avec l'option -I (d'ou les ../../include dans le makefile) ; quand il a parcouru tous les repertoires indiques par -I, il cherche dans les "standard system include directories"
# Re : string.h et pointeurs...
Posté par adibou . En réponse au message string.h et pointeurs.... Évalué à 0.
pour 2, la memoire est repartie en 3 bloc, le tas (malloc, allocation des variables losr de l'appel de fonction, ...), la pile utilisee pour allouer la memoire pour le passage des parametres des fonctions, et un 3eme truc (j'ai pas de memoire pour le nom :/ ) qui est utilise pour les variables globales ou du main
donc saisie est dans ce 3eme espace, et prend 80*sizeof(char) octets, si tu declare saisie comme : char *saisie, la variable ne prend que sizeof(char*) octets, mais apres tu dois faire saisie=(char*)malloc(80*sizeof(char)) pour allouer de l'espace, a ce moment la, la memoire n'est plus prise dans le 3eme espace, mais dans le tas...
enfin, pour strtok, la fonction remplace tous les delimiteurs (ici seulement ' ') pas un \0 (fin de chaine), il faut faire une boucle sur avec un strtok pour recuperer tous les elements separes un par un
[^] # Re: psybnc /usr/local/etc/psybncd >& /dev/null
Posté par adibou . En réponse au message Bad fd number. Évalué à 1.
$ echo "coucou" >/dev/null 2>&1
$
dans le cas ou on utilise un programme qui emet sur stderr aussi :)
dsl pour le bruit precedent...
[^] # Re: psybnc /usr/local/etc/psybncd >& /dev/null
Posté par adibou . En réponse au message Bad fd number. Évalué à 2.
$ echo "coucou" 2>&1 >/dev/null
$
[^] # Re: psybnc /usr/local/etc/psybncd >& /dev/null
Posté par adibou . En réponse au message Bad fd number. Évalué à 2.
donc je dirais que son pb ne vient pas du script en lui mm (en remplacant psybnc par echo ca marche tres bien chez moi), mais de la variable $CONF qui n'est pas init... (d'ailleurs ca serait mieux de l'utiliser aussi dans le start, et pas seulement le restart)
apres je ne sais pas comment fonctionne psybnc si on ne lui file pas d'argument... mais je dirais qu'il sort en erreur, et le shell le dit tout tranquillement...
[^] # Re: Pour les logiciels libres... et la reconnaissance d'écriture
Posté par adibou . En réponse au journal Tablet PC en cours ?. Évalué à 1.
il est pas de meilleure qualite que celui que j'avais, mais il est plus facile a retrouver !
merci !
[^] # Re: Pour les logiciels libres... et la reconnaissance d'écriture
Posté par adibou . En réponse au journal Tablet PC en cours ?. Évalué à 2.
j'ai reussi une fois, mais j'ai plus le lien, surement une recherche google du style :
http://www.google.fr/search?as_q=Shannon+&num=10&hs=(...)
d'ailleurs l'article de cover est sympa pour ca aussi
[^] # Re: Pour les logiciels libres... et la reconnaissance d'écriture
Posté par adibou . En réponse au journal Tablet PC en cours ?. Évalué à 3.
le sujet de recherche a commence il y a lgtps deja (shannon en 1951), et reste encore actif apparement...
en esperant que tu pourras eviter du travail en regardant les travaux deja effectue
# Re : Avoir une console qui utilise un autre sched...
Posté par adibou . En réponse au message Avoir une console qui utilise un autre scheduler que celui par défaut. Évalué à 2.
renice -n -20 `ps -e | grep agetty | grep tty6 | awk '{print $1}'`
diminue (en fait augmente) de 20 la valeur de la priorite du processus agetty sur tty6, dc si tu lance ton programme avec un utilisateur normal, tu ne pourras descendre en dessous de 0, ce qui fait que la console 6 sera toujours plus prioritaire (quel que soit le scheduler)
[^] # Re: bascule osd
Posté par adibou . En réponse au message Mplayer : supprimer indications temps. Évalué à 1.
[^] # Re: Essaie ca
Posté par adibou . En réponse au message Est-ce un fichier ? Un répertoire ? Et histoire de pipelines.. Évalué à 0.
[^] # Re: Re : Est-ce un fichier ? Un répertoire ? Et histoire de pipelines.
Posté par adibou . En réponse au message Est-ce un fichier ? Un répertoire ? Et histoire de pipelines.. Évalué à 1.
et si l'utilisateur fais un lien /bin/sh -> /bin/csh, alors c'est un peu la merde, mais on peut toujours tester ca au debut :/
# Re : Est-ce un fichier ? Un répertoire ? Et histoire de pipelines.
Posté par adibou . En réponse au message Est-ce un fichier ? Un répertoire ? Et histoire de pipelines.. Évalué à 0.
basename permet peut etre de faire ce que tu fais qd tu supprime l'extension & co (en fait peut etre pas, si l'extension n'est pas fixe :/ )
et pour recuperer le nombre de fichier deja cree pour une societe, un ls -l | wc -l me semble plus simple que de faire les manips sur le dernier fichier, ce qui donne :
d=`EXPR \`LS -l | WC -l\` \+ 1`
ah oui, essaye d'utiliser une variable pour les appels a des binaires, ca permet d'eviter un alias du type ls='ls -a' qui donne un resultat foireux avec ma methode (en l'occurence, la j'aurais EXPR=/usr/bin/expr LS=...)
# Re : Algorithmie : les tas (heap)
Posté par adibou . En réponse au message Algorithmie : les tas (heap). Évalué à 1.
sans vouloir etre mechant, je ne comprends pas bien pourquoi tu veux absolument utiliser des tas, et des algo ayant une complexite imposee, sans connaitre justement ces algos repondant au probleme.
en general, on essaye de faire un truc naif, et comme c'est trop long (en temps ou en taille), on utilise une structure de donnee particuliere car elle permet de gagner sur tel ou tel point qui pose probleme avec la solution naive.
alors la, vouloir commencer avec une sdd donnee, et ne pas connaitre ou pas savoir sur quoi elle va faire gagner, me fait penser que le probleme est soit mal pense, soit les infos donnees sont volontairement reduite. dans les 2 cas, les reponses risquent souvent d'etre des rtfm & co :/
[^] # Re: Re : Perdu dans la mémoire (malloc, stack, heap et système)
Posté par adibou . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 3.
dc dans ton prog, la taille de addr n'est pas focement la taille d'un int (ce que tu utilise par le %d des printf), ni celle dun unsigned int (%u), sur mon athlon 32 bits, c'est le cas, mais c'est pas forcement une verite absolue...
enfin, comme dis dans un autre commentaire, un cast et ca repart... le codage de l'adresse n'intervient pas, il suffit de bien utiliser la valeur (dc connaitre le codage intervient en fait ^^ )
ensuite, il faut aussi voir que l'adresse que tu obtiens avec le malloc, c'est une adresse "virtuelle", plusieurs processus peuvent obtenir une meme adresse, et ecrire a des endroits differents dans la memoire, mais a mon avis, ca ne concerne en rien ton probleme, c'est juste au noyau de se debrouiller avec...
# Re : Perdu dans la mémoire (malloc, stack, heap et système)
Posté par adibou . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 2.
$ cat foo.c
#include <stdio.h>
int main()
{
printf("%d %d\n", sizeof(void*), sizeof(int));
}
sur une archi 64 bits :
$ gcc foo.c && ./a.out
8 4
sur une archi 32 bits :
$ gcc foo.c && ./a.out
4 4
[^] # Re: Moi je vais breveter la lettre 'e'
Posté par adibou . En réponse au journal Breveter l'insertion d'un blanc.... Évalué à 0.
[^] # Re: J'ai pas compris...
Posté par adibou . En réponse au journal Perles de Bac. Évalué à -1.