Oui, bien sûr que c'est normal. Le C cache peu de choses par rapport à l'assembleur qui est en dessous, ce n'est pas son but. Ceci dit, pour le programmeur qui voulait pas se prendre la tête, c'est râté !
> Dans un cas, le compilo considère que tu voudrais passer par valeur des tableaux à 2 dimensions.
Même pas. Aucun des deux n'est un passage par valeur.
Dans un cas, le compilateur voit un tableau de pointeurs sur tableaux, et il accède à t[i][j] par *(*(t + i) +j), et dans l'autre, c'est un vrai tableau de tableau (contigüs), et on y accède avec *((int *)t + i + j*42) (aux confusions entre i et j près, j'me mélange toujours).
> Si tu es sûr de ce que tu fais tu peux toujours caster.
Je serais curieux d'avoir un exemple où le cast marche !
Encore un volontaire pour dire que le C, c'est simple ?
(je parlerai pas trop du C++, j'ai beaucoup pratiqué ce language, mais sans l'avoir appris vraiment correctement)
Tu as évité une recopie d'objet pour un appel de fonction, mais ton exemple ne change absoluement pas la notion de portée de variable. L'objet sera détruit à la fin du bloc dans lequel il est déclaré (c'est souvent ce qu'on veut, mais pas toujours le cas).
Mouais, sauf que ce qu'il y a sur le disque, c'est quand même pas tout à fait la même chose que ce que tu trouves en mémoire. Il y a toute la partie relogement et édition de lien qui manque. Et un binaire déjà relogé, sur un RAMdisk, ça serait quand même une bête étrange ...
Pour les algos un peu longs, moi, j'aime bien les commentaires du style
/*
1. faire ci
2. faire ça
3. encore un truc
*/
Puis des /* 1. */, /* 2. */, ... qui se balladent dans le code après. Ceci-dit, faut faire gaffe à pas utiliser ça pour se rassurer, dans bien des cas, il aurait fallu découper ça en fonctions ...
Y'a pas de mal à avoir du code commenté, mais ce que beaucoup de gens de comprennent pas, c'est qu'un commentaire est là pour dire pourquoi le code est ce qu'il est, et pas ce que le code fait.
Et effectivement, le code avec un commentaire par ligne, soit c'est dans un tutorial, soit c'est une connerie ;-).
Oui, mais selon la FSF, seuls les logiciels libres sont « ethiques ». Ils ne peuvent pas forcer par la loi tous les sites web à fournir les sources, mais dans les discours, c'est très clair pour eux que ce qui ne respecte pas leurs principe est immoral.
Je comprends bien ton point de vue, mais quel est le rapport avec le logiciel libre ?
L'idée « je vous donne tout, mais je vous demande de contribuer en échange », c'est le principe de l'open-source. Même pour des applies pas-web, tu pourrais avoir envie d'ajouter une clause forçant les gens à t'envoyer leurs modifications. C'est bien pour toi, mais ça n'est certainement pas une clause qui va préserver la liberté de tes utilisateurs.
La licence de OpenSSL est incompatible GPL. Je suppose qu'elle serait aussi incompatible Affero, donc, tu n'as pas le droit de linker les deux.
C'est une drôle de vision de la liberté qu'a la FSF. Je surf sur un site web, selon la FSF, je dois pouvoir exiger le code source du site en question. Par contre, je prends deux logiciels libres, je les fait marcher ensembles, je n'ai pas le droit de mettre le tout sur mon site web, c'est pour protéger ma liberté.
Moi, je suis désolé, dans la liberté de modifier du code, j'inclue la liberté de prendre deux bouts de code et de les faire marcher ensembles.
Ce qui est assez fort dans cette histoire, c'est qu'on nous a effectivement convaincu via une espèce de rumeur populaire qu'il fallait détenir l'original pour avoir le droit à la copie privée. Je ne suis pas expert en droit, mais tout ce que j'ai vu là dessus d'à peu près sérieux dit que tu as effectivement le droit de copier et de garder la copie même si l'original n'est pas à toi.
Côté jurisprundence, il y a quand même un type qui s'est fait chopper ayant téléchargé 400 films (c'est énorme, ça veut dire de quoi regarder un film différent tous les soirs pendant plus d'un an), devant le tribunal, sa défense était en gros « bah, c'est illégal, ça ? », et il a gagné. Par contre, ce qui est très clair, c'est qu'une mise à disposition publique (genre, mise sur un site web) est illégale. À ma connaissance, c'est sur ce point que les P2Pistes qui ont été condamnés ont été attaqués.
Et au passage, la taxe sur les supports vierges est justement là pour compenser le manque à gagner potentiel du à cette exception pour copie privée.
Si j'achète un CD, je suis l'acheteur. Si tu copie le CD que j'ai acheté, tu es le copiste, et tu as le droit de faire un usage privé de ta copie. C'est ce que dit le texte.
> Ah ? Pourtant quand je vois les fichiers toto.c et toto.o, je sais que toto.o est la
> version code object du code source toto.c.
Pire : si je vois toto.c qui contient
int main () {
int class = 42;
return class;
}
je sais que c'est un fichier C syntaxiquement correct.
Si le même fichier s'appelle toto.cpp, je sais que c'est un fichier C++ incorrect. Un machin basé sur le contenu n'aurait jamais pu faire cette distinction.
[^] # Re: Le C++ peut être simple
Posté par Matthieu Moy (site web personnel) . En réponse au journal Un langage pour les nuls? Le langage D!. Évalué à 2.
Oui, bien sûr que c'est normal. Le C cache peu de choses par rapport à l'assembleur qui est en dessous, ce n'est pas son but. Ceci dit, pour le programmeur qui voulait pas se prendre la tête, c'est râté !
> Dans un cas, le compilo considère que tu voudrais passer par valeur des tableaux à 2 dimensions.
Même pas. Aucun des deux n'est un passage par valeur.
Dans un cas, le compilateur voit un tableau de pointeurs sur tableaux, et il accède à t[i][j] par *(*(t + i) +j), et dans l'autre, c'est un vrai tableau de tableau (contigüs), et on y accède avec *((int *)t + i + j*42) (aux confusions entre i et j près, j'me mélange toujours).
> Si tu es sûr de ce que tu fais tu peux toujours caster.
Je serais curieux d'avoir un exemple où le cast marche !
Encore un volontaire pour dire que le C, c'est simple ?
(je parlerai pas trop du C++, j'ai beaucoup pratiqué ce language, mais sans l'avoir appris vraiment correctement)
[^] # Re: Le C++ peut être simple
Posté par Matthieu Moy (site web personnel) . En réponse au journal Un langage pour les nuls? Le langage D!. Évalué à 4.
est refusé, il faut faire soit
soit
(les deux étant bien sûr incompatibles, on ne peut pas passer un « int t[42][42] à la place d'un « int ** v », et vice-versa).
Simple comme bonjour, les tableaux, en C :-\.
[^] # Re: Le C++ peut être simple
Posté par Matthieu Moy (site web personnel) . En réponse au journal Un langage pour les nuls? Le langage D!. Évalué à 2.
Tu as évité une recopie d'objet pour un appel de fonction, mais ton exemple ne change absoluement pas la notion de portée de variable. L'objet sera détruit à la fin du bloc dans lequel il est déclaré (c'est souvent ce qu'on veut, mais pas toujours le cas).
[^] # Re: Si j'étais un vrai homme ...
Posté par Matthieu Moy (site web personnel) . En réponse au journal Auto-génération de code à la volée. Évalué à 2.
[^] # Re: commenter le code?
Posté par Matthieu Moy (site web personnel) . En réponse au journal à quand un code commenté ?. Évalué à 2.
/*
1. faire ci
2. faire ça
3. encore un truc
*/
Puis des /* 1. */, /* 2. */, ... qui se balladent dans le code après. Ceci-dit, faut faire gaffe à pas utiliser ça pour se rassurer, dans bien des cas, il aurait fallu découper ça en fonctions ...
[^] # Re: commenter le code?
Posté par Matthieu Moy (site web personnel) . En réponse au journal à quand un code commenté ?. Évalué à 9.
Et effectivement, le code avec un commentaire par ligne, soit c'est dans un tutorial, soit c'est une connerie ;-).
[^] # Re: traduction
Posté par Matthieu Moy (site web personnel) . En réponse au journal Le choix d'un maitre n'est pas la liberté. Évalué à 2.
Meuh non, c'est pas du chantage, c'est pour protéger vos libertés.
[^] # Re: La transparence
Posté par Matthieu Moy (site web personnel) . En réponse au journal La surveillance à TOR et à travers.... Évalué à 2.
Oups, je me suis trompé de débat ===> [ ]
[^] # Re: tivoization sur Wikipédia
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche GNU Affero General Public License : la GPL des applications web. Évalué à 2.
[^] # Re: Mwais... enfin ... c'est un draft !
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche GNU Affero General Public License : la GPL des applications web. Évalué à 2.
Un peu comme le logiciel propriétaire, quoi.
Pourtant, j'ai entendu dire que des gens trouvaient immoral le fait de distribuer un logiciel sous une licence propriétaire.
[^] # Re: Mwais...
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche GNU Affero General Public License : la GPL des applications web. Évalué à 2.
[^] # Re: Une autre vision
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche GNU Affero General Public License : la GPL des applications web. Évalué à 2.
L'idée « je vous donne tout, mais je vous demande de contribuer en échange », c'est le principe de l'open-source. Même pour des applies pas-web, tu pourrais avoir envie d'ajouter une clause forçant les gens à t'envoyer leurs modifications. C'est bien pour toi, mais ça n'est certainement pas une clause qui va préserver la liberté de tes utilisateurs.
[^] # Re: Mwais...
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche GNU Affero General Public License : la GPL des applications web. Évalué à 1.
C'est une drôle de vision de la liberté qu'a la FSF. Je surf sur un site web, selon la FSF, je dois pouvoir exiger le code source du site en question. Par contre, je prends deux logiciels libres, je les fait marcher ensembles, je n'ai pas le droit de mettre le tout sur mon site web, c'est pour protéger ma liberté.
Moi, je suis désolé, dans la liberté de modifier du code, j'inclue la liberté de prendre deux bouts de code et de les faire marcher ensembles.
[^] # Re: Bah...
Posté par Matthieu Moy (site web personnel) . En réponse au journal Faut il que je retourne sous IE ?. Évalué à 3.
[^] # Re: Surtout pas IE par contre
Posté par Matthieu Moy (site web personnel) . En réponse au journal Faut il que je retourne sous IE ?. Évalué à 5.
Étaye tes propos, où je vais être obligé de retrouver les sources sur secunia qui disent le contraire.
[^] # Re: fair use / copie privée
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Apple Plus : sans DRM, mais.... Évalué à 4.
Côté jurisprundence, il y a quand même un type qui s'est fait chopper ayant téléchargé 400 films (c'est énorme, ça veut dire de quoi regarder un film différent tous les soirs pendant plus d'un an), devant le tribunal, sa défense était en gros « bah, c'est illégal, ça ? », et il a gagné. Par contre, ce qui est très clair, c'est qu'une mise à disposition publique (genre, mise sur un site web) est illégale. À ma connaissance, c'est sur ce point que les P2Pistes qui ont été condamnés ont été attaqués.
Et au passage, la taxe sur les supports vierges est justement là pour compenser le manque à gagner potentiel du à cette exception pour copie privée.
[^] # Re: fair use / copie privée
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Apple Plus : sans DRM, mais.... Évalué à 3.
Si j'achète un CD, je suis l'acheteur. Si tu copie le CD que j'ai acheté, tu es le copiste, et tu as le droit de faire un usage privé de ta copie. C'est ce que dit le texte.
[^] # Re: fair use / copie privée
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Apple Plus : sans DRM, mais.... Évalué à 6.
[^] # Re: de pires solutions existent, mais de meilleures ?
Posté par Matthieu Moy (site web personnel) . En réponse au journal En finir avec libmagic. Évalué à 3.
> version code object du code source toto.c.
Pire : si je vois toto.c qui contient
int main () {
int class = 42;
return class;
}
je sais que c'est un fichier C syntaxiquement correct.
Si le même fichier s'appelle toto.cpp, je sais que c'est un fichier C++ incorrect. Un machin basé sur le contenu n'aurait jamais pu faire cette distinction.
[^] # Re: Le droit d'auteur, c'est bien(tm)
Posté par Matthieu Moy (site web personnel) . En réponse au journal La phrase du jour. Évalué à 3.
...et je peux mettre des firmware GPL dans la freebox sans risque de troll
[^] # Re: comme ca, ca ira
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Emacs 22 est déclaré stable. Évalué à 5.
[^] # Re: s/contre/pour/
Posté par Matthieu Moy (site web personnel) . En réponse au journal Firefox implémente la balise <video>. Évalué à 9.
[^] # Re: pas une erreur
Posté par Matthieu Moy (site web personnel) . En réponse au message Lost+Found. Évalué à 3.
[^] # Re: Google Talk?
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Seconde Journée de la Discussion Ouverte ce 19 mai. Évalué à 7.
Tu aimes ou tu n'aimes pas, mais dissocier Google Talk et Jabber, c'est comme dire que Hotmail n'est pas une boite email, ça n'a aucun sens.
De toutes façons, pour utiliser « Jabber », il faut choisir un fournisseur. Google est une option, il y en a d'autres.
[^] # Re: :-)
Posté par Matthieu Moy (site web personnel) . En réponse au journal Migrer de Windows Xp à Kubuntu... Évalué à 2.