(d'ailleurs, un programme peut détecter sous quel nom il a été invoqué et modifier, en conséquence, son comportement).
C'est plus compliqué pour une bibliothèque. En particulier, le nom sous lequel le programme l'a chargée n'est pas disponible.
Ca fait un bail que je n'ai pas programmé en C et encore moins une bibliothèque mais il me semblait, en grattant mes vieux neurones, me souvenir que dans la fonction main, déclarée comme suit: int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous lequel le programme a été invoqué.
En tout cas, pour le shell, je viens de vérifier avec test, fichier exécutable dont le contenu est: echo $0
et testi qui est un lien sur test:
-rwxr-xr-x 1 root root 9 Aug 3 11:57 test lrwxrwxrwx 1 root root 4 Aug 3 11:58 testi -> test
Comme je m'y attendais, l'affichage de $0 reflète bien le nom sous lequel l'éxécutable a été invoqué et pourrait être testé pour en modifier le comportement: HPUX:/tmp # ./test ./test HPUX:/tmp # ./testi ./testi
-- Sylvain
Nicolas George a écrit :
(d'ailleurs, un programme peut détecter sous quel
nom il a été invoqué et modifier, en conséquence, son comportement).
C'est plus compliqué pour une bibliothèque. En particulier, le nom sous
lequel le programme l'a chargée n'est pas disponible.
Ca fait un bail que je n'ai pas programmé en C et encore moins une
bibliothèque mais il me semblait, en grattant mes vieux neurones, me
souvenir que dans la fonction main, déclarée comme suit:
int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous
lequel le programme a été invoqué.
En tout cas, pour le shell, je viens de vérifier avec test, fichier
exécutable dont le contenu est:
echo $0
et testi qui est un lien sur test:
-rwxr-xr-x 1 root root 9 Aug 3 11:57 test
lrwxrwxrwx 1 root root 4 Aug 3 11:58 testi -> test
Comme je m'y attendais, l'affichage de $0 reflète bien le nom sous
lequel l'éxécutable a été invoqué et pourrait être testé pour en
modifier le comportement:
HPUX:/tmp # ./test
./test
HPUX:/tmp # ./testi
./testi
(d'ailleurs, un programme peut détecter sous quel nom il a été invoqué et modifier, en conséquence, son comportement).
C'est plus compliqué pour une bibliothèque. En particulier, le nom sous lequel le programme l'a chargée n'est pas disponible.
Ca fait un bail que je n'ai pas programmé en C et encore moins une bibliothèque mais il me semblait, en grattant mes vieux neurones, me souvenir que dans la fonction main, déclarée comme suit: int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous lequel le programme a été invoqué.
En tout cas, pour le shell, je viens de vérifier avec test, fichier exécutable dont le contenu est: echo $0
et testi qui est un lien sur test:
-rwxr-xr-x 1 root root 9 Aug 3 11:57 test lrwxrwxrwx 1 root root 4 Aug 3 11:58 testi -> test
Comme je m'y attendais, l'affichage de $0 reflète bien le nom sous lequel l'éxécutable a été invoqué et pourrait être testé pour en modifier le comportement: HPUX:/tmp # ./test ./test HPUX:/tmp # ./testi ./testi
-- Sylvain
leeed
Le 02-08-2011, P4nd1-P4nd4 <P4nd1-P4nd4@> a écrit :
JKB avait énoncé :
Le Tue, 02 Aug 2011 20:27:54 +0200, P4nd1-P4nd4 <P4nd1-P4nd4@> écrivait :
Doug713705 avait soumis l'idée :
Le 01-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Bof, durant un temps j'utilisais Opera, mais bon, il n'a rien de si extraordinaire, je suis vite repassé sous un vrai naviguateur
Ah, toi aussi tu utilises seamonkey ?
J'utilisai ce qui était un peu l'encêtre de Seamonkey, c'était Netscape Communicator, qui possédait à l'époque aussi un éditeur HTML ainsi qu'un client mail ;>))
Aujourd'hui, je pense que tout est devenu un peu trop spécialisé pour avoir un truc tout en un, mais bon, pourquoi pas
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
En fait, l'inteligence ammène systématiquement l'homme au même endroit: A la flemmardise
Alors, j'ai la flemme de changer de naviguateur
Qu'un type comme toi se préoccupe de l'augmentation de l'entropie me semble, comment dire, assez paradoxal.
L'entropie n'est qu'une grosse connerie si l'on y intègre un élément qui m'est cher, soit l'Homme
Ah, tiens, le P4 se croit plus intelligent que Sadi Carnot et Rudolf Clausius réunis… Et on ne parlera même pas du concept d'entropie de Shannon.
Ceux qui croient à ces fadaises sont des gens que je catalogue immédiatement à la gauche dur, soit les mêmes qui ne croient pas à l'évolution humaine
Tu m'expliques le lien entre la politique et les lois de la thermodynamique? (la deuxième loi, pour être précis)
Bref, ceux qui pensent que l'humanité n'est qu'un parasite, au mieux, mais plutôt une espèce de pourrissure qui s'acroche à l'univers...
Toi, t'as trop regardé Matrix quand t'étais jeune…
Le 02-08-2011, P4nd1-P4nd4 <P4nd1-P4nd4@> a écrit :
JKB avait énoncé :
Le Tue, 02 Aug 2011 20:27:54 +0200,
P4nd1-P4nd4 <P4nd1-P4nd4@> écrivait :
Doug713705 avait soumis l'idée :
Le 01-08-2011, P4nd1-P4nd4 nous expliquait dans
fr.comp.os.linux.debats :
Bof, durant un temps j'utilisais Opera, mais bon, il n'a rien de si
extraordinaire, je suis vite repassé sous un vrai naviguateur
Ah, toi aussi tu utilises seamonkey ?
J'utilisai ce qui était un peu l'encêtre de Seamonkey, c'était Netscape
Communicator, qui possédait à l'époque aussi un éditeur HTML ainsi
qu'un client mail ;>))
Aujourd'hui, je pense que tout est devenu un peu trop spécialisé pour
avoir un truc tout en un, mais bon, pourquoi pas
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent,
comme Opera
En fait, l'inteligence ammène systématiquement l'homme au même endroit:
A la flemmardise
Alors, j'ai la flemme de changer de naviguateur
Qu'un type comme toi se préoccupe de l'augmentation de l'entropie me
semble, comment dire, assez paradoxal.
L'entropie n'est qu'une grosse connerie si l'on y intègre un élément
qui m'est cher, soit l'Homme
Ah, tiens, le P4 se croit plus intelligent que Sadi Carnot et Rudolf
Clausius réunis…
Et on ne parlera même pas du concept d'entropie de Shannon.
Ceux qui croient à ces fadaises sont des gens que je catalogue
immédiatement à la gauche dur, soit les mêmes qui ne croient pas à
l'évolution humaine
Tu m'expliques le lien entre la politique et les lois de la
thermodynamique? (la deuxième loi, pour être précis)
Bref, ceux qui pensent que l'humanité n'est qu'un parasite, au mieux,
mais plutôt une espèce de pourrissure qui s'acroche à l'univers...
Toi, t'as trop regardé Matrix quand t'étais jeune…
Le 02-08-2011, P4nd1-P4nd4 <P4nd1-P4nd4@> a écrit :
JKB avait énoncé :
Le Tue, 02 Aug 2011 20:27:54 +0200, P4nd1-P4nd4 <P4nd1-P4nd4@> écrivait :
Doug713705 avait soumis l'idée :
Le 01-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Bof, durant un temps j'utilisais Opera, mais bon, il n'a rien de si extraordinaire, je suis vite repassé sous un vrai naviguateur
Ah, toi aussi tu utilises seamonkey ?
J'utilisai ce qui était un peu l'encêtre de Seamonkey, c'était Netscape Communicator, qui possédait à l'époque aussi un éditeur HTML ainsi qu'un client mail ;>))
Aujourd'hui, je pense que tout est devenu un peu trop spécialisé pour avoir un truc tout en un, mais bon, pourquoi pas
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
En fait, l'inteligence ammène systématiquement l'homme au même endroit: A la flemmardise
Alors, j'ai la flemme de changer de naviguateur
Qu'un type comme toi se préoccupe de l'augmentation de l'entropie me semble, comment dire, assez paradoxal.
L'entropie n'est qu'une grosse connerie si l'on y intègre un élément qui m'est cher, soit l'Homme
Ah, tiens, le P4 se croit plus intelligent que Sadi Carnot et Rudolf Clausius réunis… Et on ne parlera même pas du concept d'entropie de Shannon.
Ceux qui croient à ces fadaises sont des gens que je catalogue immédiatement à la gauche dur, soit les mêmes qui ne croient pas à l'évolution humaine
Tu m'expliques le lien entre la politique et les lois de la thermodynamique? (la deuxième loi, pour être précis)
Bref, ceux qui pensent que l'humanité n'est qu'un parasite, au mieux, mais plutôt une espèce de pourrissure qui s'acroche à l'univers...
Toi, t'as trop regardé Matrix quand t'étais jeune…
leeed
Le 02-08-2011, Doug713705 a écrit :
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout passé à coté de l'essentiel de l'article :
bah, venant de P4, rien d'étonnant… Je crois bien que je ne l'ai jamais vu *comprendre* un quelconque article.
Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à IE _rendait_ intelligent, il a été dit que, parmi les internautes, les personnes les plus intelligentes utilisaient un navigateur différent de IE. Ce n'est pas _du tout_ la même chose.
[1] http://xkcd.com/925/
Le 02-08-2011, Doug713705 <doug.letough@free.fr> a écrit :
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans
fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent,
comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire
dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout
passé à coté de l'essentiel de l'article :
bah, venant de P4, rien d'étonnant… Je crois bien que je ne l'ai jamais
vu *comprendre* un quelconque article.
Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à
IE _rendait_ intelligent, il a été dit que, parmi les internautes, les
personnes les plus intelligentes utilisaient un navigateur différent de IE.
Ce n'est pas _du tout_ la même chose.
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout passé à coté de l'essentiel de l'article :
bah, venant de P4, rien d'étonnant… Je crois bien que je ne l'ai jamais vu *comprendre* un quelconque article.
Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à IE _rendait_ intelligent, il a été dit que, parmi les internautes, les personnes les plus intelligentes utilisaient un navigateur différent de IE. Ce n'est pas _du tout_ la même chose.
[1] http://xkcd.com/925/
Nicolas George
Sylvain POURRE , dans le message <4e39202c$0$10640$, a écrit :
Ca fait un bail que je n'ai pas programmé en C et encore moins une bibliothèque mais il me semblait, en grattant mes vieux neurones, me souvenir que dans la fonction main, déclarée comme suit: int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous lequel le programme a été invoqué.
Une bibliothèque n'a pas de fonction main.
Sylvain POURRE , dans le message
<4e39202c$0$10640$426a74cc@news.free.fr>, a écrit :
Ca fait un bail que je n'ai pas programmé en C et encore moins une
bibliothèque mais il me semblait, en grattant mes vieux neurones, me
souvenir que dans la fonction main, déclarée comme suit:
int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous
lequel le programme a été invoqué.
Sylvain POURRE , dans le message <4e39202c$0$10640$, a écrit :
Ca fait un bail que je n'ai pas programmé en C et encore moins une bibliothèque mais il me semblait, en grattant mes vieux neurones, me souvenir que dans la fonction main, déclarée comme suit: int main(argc, char *argv[]), le paramètre argv[0] est bien le nom sous lequel le programme a été invoqué.
Une bibliothèque n'a pas de fonction main.
P4nd1-P4nd4
Doug713705 a exposé le 03.08.2011 :
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout passé à coté de l'essentiel de l'article : Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à IE _rendait_ intelligent, il a été dit que, parmi les internautes, les personnes les plus intelligentes utilisaient un navigateur différent de IE. Ce n'est pas _du tout_ la même chose.
[1] http://xkcd.com/925/
Certes, j'acquiesce que les personnes aimant bidouiller l'informatique ont "probablement" un QI supérieur, mais j'en connais plein qui n'en n'ont rien à foutre de l'informatique à part comme outil de travail qui se satisfont parfaitement d'IE et qui qui exerce des professions intelectuelles
En fait, ce que je repproche surtout à ce genre de vision, c'est de toujours vouloir mettre "au centre" l'informatique, et Linux, en oubliant que le monde est un tout petit peux plus vaste que cette univers de la taille d'un petit poid
Alors, excellent pour ceux qui utilisent Linux et Opera de se prendre pour des zélites, moi je bouffe pas de ce pain là ;>)
Doug713705 a exposé le 03.08.2011 :
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans
fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent,
comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire
dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout
passé à coté de l'essentiel de l'article :
Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à
IE _rendait_ intelligent, il a été dit que, parmi les internautes, les
personnes les plus intelligentes utilisaient un navigateur différent de IE.
Ce n'est pas _du tout_ la même chose.
[1] http://xkcd.com/925/
Certes, j'acquiesce que les personnes aimant bidouiller l'informatique
ont "probablement" un QI supérieur, mais j'en connais plein qui n'en
n'ont rien à foutre de l'informatique à part comme outil de travail qui
se satisfont parfaitement d'IE et qui qui exerce des professions
intelectuelles
En fait, ce que je repproche surtout à ce genre de vision, c'est de
toujours vouloir mettre "au centre" l'informatique, et Linux, en
oubliant que le monde est un tout petit peux plus vaste que cette
univers de la taille d'un petit poid
Alors, excellent pour ceux qui utilisent Linux et Opera de se prendre
pour des zélites, moi je bouffe pas de ce pain là ;>)
Le 02-08-2011, P4nd1-P4nd4 nous expliquait dans fr.comp.os.linux.debats :
Mais je doute vraiment que savoir utiliser Seamonkey rends intelligent, comme Opera
On est d'accord pour dire que ces stats sont débiles et qu'on peut faire dire beaucoup de choses aux stats[1] mais je crois que tu es malgré tout passé à coté de l'essentiel de l'article : Personne n'a jamais dit que l'utilisation d'un navigateur alternatif à IE _rendait_ intelligent, il a été dit que, parmi les internautes, les personnes les plus intelligentes utilisaient un navigateur différent de IE. Ce n'est pas _du tout_ la même chose.
[1] http://xkcd.com/925/
Certes, j'acquiesce que les personnes aimant bidouiller l'informatique ont "probablement" un QI supérieur, mais j'en connais plein qui n'en n'ont rien à foutre de l'informatique à part comme outil de travail qui se satisfont parfaitement d'IE et qui qui exerce des professions intelectuelles
En fait, ce que je repproche surtout à ce genre de vision, c'est de toujours vouloir mettre "au centre" l'informatique, et Linux, en oubliant que le monde est un tout petit peux plus vaste que cette univers de la taille d'un petit poid
Alors, excellent pour ceux qui utilisent Linux et Opera de se prendre pour des zélites, moi je bouffe pas de ce pain là ;>)
Sylvain POURRE
Nicolas George a écrit :
Une bibliothèque n'a pas de fonction main.
Voila une bonne explication ;-) Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un fichier header pour les déclarations. Donc, sauf à vouloir tout réinventer à chaque fois (nom des fonctions, paramètres...), il n'y a aucune raison de perdre la compatibilité.
Cecit-dit, je crains que nous soyons HS car:
- Nous parlons technique programmation - Nous parlons de navigateur, courrielleur - Nous ne trollons (presque) pas - Nous avons oublié de nous insulter
Merci pour ce rappel, j'avais oublié que les DLL ne sont pas des programmes à part entière. Comme une journée où on n'a rien appris est une journée de perdue...
-- Sylvain
Nicolas George a écrit :
Une bibliothèque n'a pas de fonction main.
Voila une bonne explication ;-)
Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un
fichier header pour les déclarations.
Donc, sauf à vouloir tout réinventer à chaque fois (nom des fonctions,
paramètres...), il n'y a aucune raison de perdre la compatibilité.
Cecit-dit, je crains que nous soyons HS car:
- Nous parlons technique programmation
- Nous parlons de navigateur, courrielleur
- Nous ne trollons (presque) pas
- Nous avons oublié de nous insulter
Merci pour ce rappel, j'avais oublié que les DLL ne sont pas des
programmes à part entière. Comme une journée où on n'a rien appris est
une journée de perdue...
Voila une bonne explication ;-) Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un fichier header pour les déclarations. Donc, sauf à vouloir tout réinventer à chaque fois (nom des fonctions, paramètres...), il n'y a aucune raison de perdre la compatibilité.
Cecit-dit, je crains que nous soyons HS car:
- Nous parlons technique programmation - Nous parlons de navigateur, courrielleur - Nous ne trollons (presque) pas - Nous avons oublié de nous insulter
Merci pour ce rappel, j'avais oublié que les DLL ne sont pas des programmes à part entière. Comme une journée où on n'a rien appris est une journée de perdue...
-- Sylvain
Nicolas George
Sylvain POURRE , dans le message <4e395a7d$0$7398$, a écrit :
Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un fichier header pour les déclarations.
Ça, c'est pour la compatibilité source. Là il était question de compatibilité binaire, c'est plus difficile. Par exemple, s itu as une fonction qui prend une position dans un fichier sous forme d'un int, et que tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction soit présente avec les deux types, sous le même nom, ce qui est possible avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui manipulent cette structure doivent exister en double.
Cecit-dit, je crains que nous soyons HS car:
Peu importe.
Sylvain POURRE , dans le message
<4e395a7d$0$7398$426a74cc@news.free.fr>, a écrit :
Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un
fichier header pour les déclarations.
Ça, c'est pour la compatibilité source. Là il était question de
compatibilité binaire, c'est plus difficile. Par exemple, s itu as une
fonction qui prend une position dans un fichier sous forme d'un int, et que
tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes
la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction
soit présente avec les deux types, sous le même nom, ce qui est possible
avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui
manipulent cette structure doivent exister en double.
Sylvain POURRE , dans le message <4e395a7d$0$7398$, a écrit :
Ceci-dit, sans vouloir insister, elle doit bien avoir quand-même un fichier header pour les déclarations.
Ça, c'est pour la compatibilité source. Là il était question de compatibilité binaire, c'est plus difficile. Par exemple, s itu as une fonction qui prend une position dans un fichier sous forme d'un int, et que tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction soit présente avec les deux types, sous le même nom, ce qui est possible avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui manipulent cette structure doivent exister en double.
Cecit-dit, je crains que nous soyons HS car:
Peu importe.
Sylvain POURRE
Nicolas George a écrit :
Ça, c'est pour la compatibilité source. Là il était question de compatibilité binaire, c'est plus difficile. Par exemple, s itu as une fonction qui prend une position dans un fichier sous forme d'un int, et que tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction soit présente avec les deux types, sous le même nom, ce qui est possible avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui manipulent cette structure doivent exister en double.
Cecit-dit, je crains que nous soyons HS car:
Peu importe.
Merci pour ces rappels passionnants. Pour revenir en charte et pour troller un peu, je vais te parler d'un temps que les moins de 20 ans (et même plus) ne peuvent pas connaître. J'ai découvert UNIX en 1985, sur un micromega 32 puis la famille DPS7, SPX de Bull. Pour un gros projet, nous avions bien écrit des bibliothèques pour ne pas réécrire 100 fois le même code, mais nous linkions alors en statique. La compatibilité était effectivement assurée au niveau des sources et nous avons pu tester avec un SCO sur Intel. Quand nous avions acheté notre AGL, le fournisseur est venu avec une bande et a recompilé sur place, en corrigeant quelques warning (souvent des cast implicites). Les DLL et la compatibilité binaire sont des windowseries importées de chez M$ et qui devraient être chassées à coups d'eau bénite et de gousses d'ail ;-)
-- Sylvain
Nicolas George a écrit :
Ça, c'est pour la compatibilité source. Là il était question de
compatibilité binaire, c'est plus difficile. Par exemple, s itu as une
fonction qui prend une position dans un fichier sous forme d'un int, et que
tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes
la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction
soit présente avec les deux types, sous le même nom, ce qui est possible
avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui
manipulent cette structure doivent exister en double.
Cecit-dit, je crains que nous soyons HS car:
Peu importe.
Merci pour ces rappels passionnants.
Pour revenir en charte et pour troller un peu, je vais te parler d'un
temps que les moins de 20 ans (et même plus) ne peuvent pas connaître.
J'ai découvert UNIX en 1985, sur un micromega 32 puis la famille DPS7,
SPX de Bull. Pour un gros projet, nous avions bien écrit des
bibliothèques pour ne pas réécrire 100 fois le même code, mais nous
linkions alors en statique. La compatibilité était effectivement assurée
au niveau des sources et nous avons pu tester avec un SCO sur Intel.
Quand nous avions acheté notre AGL, le fournisseur est venu avec une
bande et a recompilé sur place, en corrigeant quelques warning (souvent
des cast implicites).
Les DLL et la compatibilité binaire sont des windowseries importées de
chez M$ et qui devraient être chassées à coups d'eau bénite et de
gousses d'ail ;-)
Ça, c'est pour la compatibilité source. Là il était question de compatibilité binaire, c'est plus difficile. Par exemple, s itu as une fonction qui prend une position dans un fichier sous forme d'un int, et que tu veux le changer pour un off_t pour ne plus être limité à 2 Go, tu gardes la compatibilité source, mais la compatibilité binaire est rompue.
Si tu veux préserver la compatibilité binaire, il faut que la même fonction soit présente avec les deux types, sous le même nom, ce qui est possible avec le symbol versionning, mais assez technique, pénible et peu portable.
Si c'est un membre de structure qui change de type, toutes les fonctions qui manipulent cette structure doivent exister en double.
Cecit-dit, je crains que nous soyons HS car:
Peu importe.
Merci pour ces rappels passionnants. Pour revenir en charte et pour troller un peu, je vais te parler d'un temps que les moins de 20 ans (et même plus) ne peuvent pas connaître. J'ai découvert UNIX en 1985, sur un micromega 32 puis la famille DPS7, SPX de Bull. Pour un gros projet, nous avions bien écrit des bibliothèques pour ne pas réécrire 100 fois le même code, mais nous linkions alors en statique. La compatibilité était effectivement assurée au niveau des sources et nous avons pu tester avec un SCO sur Intel. Quand nous avions acheté notre AGL, le fournisseur est venu avec une bande et a recompilé sur place, en corrigeant quelques warning (souvent des cast implicites). Les DLL et la compatibilité binaire sont des windowseries importées de chez M$ et qui devraient être chassées à coups d'eau bénite et de gousses d'ail ;-)
-- Sylvain
Professeur M
Le Wed, 03 Aug 2011 14:41:26 +0200, P4nd1-P4nd4 a écrit :
j'en connais plein qui n'en n'ont rien à foutre de l'informatique à part comme outil de travail qui se satisfont parfaitement d'IE
« connais-toi toi même »
et qui qui exerce des professions intelectuelles
ah bin non.
Le Wed, 03 Aug 2011 14:41:26 +0200, P4nd1-P4nd4 a écrit :
j'en connais plein qui n'en
n'ont rien à foutre de l'informatique à part comme outil de travail qui
se satisfont parfaitement d'IE