| |||||
Page : 1 2 Page Suivante | |
| Auteur | Sujet : C ISO et C++ ISO |
Publicité | Posté le 10-11-2007 à 02:54:04 ![]() ![]() |
Ace17 |
Je ne saisis pas ce que tu dis. Il me semblait que malloc et free, c'etait toujours implemente dans la libc. Me trompe-je?
|
gee Bon ben hon | intéressant.
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Gf4x3443 Killing perfection | Un exemple bête que j'ai vu récemment, sur un gros projet opensource (dont je tairais le nom tellement c'est une daube sans nom): un exemple de cast sur des pointeurs pas alignés (marche sur x86 32bits, mais pas sur du sparc 64, j'expliquerai pourquoi):
|
Gf4x3443 Killing perfection |
|
bjone Insert booze to continue | perso, c'est les archis incapables de réaligner les accès, au moins sur l'espace caché, que je trouve nul.
Message cité 1 fois Message édité par bjone le 10-11-2007 à 16:35:30 |
deather2 |
+1 Message édité par deather2 le 10-11-2007 à 15:33:23 |
Gf4x3443 Killing perfection |
Ah ouais, dire que l'archi sparc c'est de la merde, c'est très très fort. Merci de m'avoir fait rire
C'est surtout vilain de la part du programmeur d'écrire du code dégueux. Le cast n'est pas là pour ca.
Ouais. Tiens d'ailleurs, je me demande pourquoi la MMU doit avertir sur les erreurs de segmentation, au lieu d'écraser le contenu de la mémoire. On se croirait dans les années 70. Puis tant qu'a faire, "aussi", pourquoi se faire chier à faire tourner des process en userland, c'est tellement mieux de faire ca en mode kernel. Pourquoi se faire chier avec des rings, je me le demande aussi. Edit: ah oui, et tant qu'a faire, tolérons donc aussi les structs mal foutues qui gaspillent inutilement de l'espace rien que pour aligner leur contenu. Pourquoi on se ferait chier avec ca. Message cité 1 fois Message édité par Gf4x3443 le 10-11-2007 à 19:31:46 |
bjone Insert booze to continue |
Message cité 1 fois Message édité par bjone le 10-11-2007 à 23:46:48 |
Publicité | Posté le 10-11-2007 à 23:45:02 ![]() ![]() |
Gf4x3443 Killing perfection |
C'est là ou je ne suis pas d'accord. La restriction hardware, justement, c'est de tolérer ce genre de choses. Le mieux étant l'ennemi du bien. Tu te fermes complètement le monde de l'embarqué avec des idées comme celle la. Et ca n'est pas l'apanage de l'archi sparc, arm aussi va souffrir. Une appli codée proprement doit se soucier des problèmes d'alignement, et ne pas laisser ca salement à l'architecture qui est derrière. C'est justement comme cela que l'on néglige totalement la portabilité, et qu'on se retrouve avec une appli qui va tourner sous x86 et pas ailleurs. Quand on manipule des pointeurs/adresses, on fait ca proprement. Sinon on fait pas, et on se tourne sur d'autres environnements/langages qui évitent ce genre de souci. Maintenant, tu noteras qu'avoir des alignements corrects te permet justement de faire abstraction des problèmes d'adressage, que tu passes de 16 bits au 32, puis 64, 128, ou changer d'architecture. Niveau propreté du code, il n'y a pas besoin de se faire des nœuds infernaux au cerveau pour y arriver. Message édité par Gf4x3443 le 11-11-2007 à 00:20:01 |
bjone Insert booze to continue | qu'est-ce qui est le plus crade d'un point de vue développeur ?
Message cité 1 fois Message édité par bjone le 11-11-2007 à 01:24:28 |
Gf4x3443 Killing perfection |
Utiliser du #ifdef et du memcpy en cas de risque. Ca devrait arriver extrêmement rarement. Je verrais ca surtout dans les bdd (qui sont au point à ce niveau, postgres ne fait pas du cast à tout va), et les piles réseaux (flux de données qu'on passe son temps à encapsuler/décapsuler).
Ouais, on en dira pas tant. En attendant, si aujourd'hui, on doit s'amuser avec des couches de compat binaire 32bits sur du 64bits, c'est bien qu'il y a du code crade la dedans. Je compte même plus les applis présentement "open source" et qui ne sont pas 64 bits safe. En ce qui me concerne, pour ce que j'ai vu, porter netbsd + userland sur amd64 s'est fait en 2 semaines montre en main. La par exemple, j'ai cyrus imapd en cours d'installation dans un de nos labos, ben cette "chose" foire majestueusement en environnement 64bits. Bravo.
Ca saoule, et c'est pour une bonne raison. En attendant je maintiens ce que je dis, si on dégage tout ce qu'il faut sous prétexte que ca emmerde un progueux qui fait sa tambouille à la va vite, ben c'est simple, soit il code pour x86 et il assume les critiques qui viendront avec, soit il change de langage pour un plus haut niveau qui ne manipule pas d'adresse, ou il se tourne vers les webeuries 2.0. Message édité par Gf4x3443 le 11-11-2007 à 02:11:47 |
SekYo | Hé, on critique pas les webeuries 2.0, Rails c'est très bien |
bjone Insert booze to continue |
bjone Insert booze to continue |
|
SekYo |
|
Gf4x3443 Killing perfection |
Tout ce qui est prog système, ou avec des programmes très massifs en temps de calcul ou en ressources (bdd, traitements multimédias), on y coupe pas. Pour le reste, tout ce qui est client (webeuries, applis clientes...), intérêt nul. Chaque langage a un domaine particulier d'applications. Suffit de voir que fortran, cobol, ada... sont toujours présents. C'en est même devenu mauvais, les compétences sont rares, les besoins bien présents, du coup les tarifs très élevés. Encore une fois, le C "de base" ne requiert pas un niveau démentiel. A moins de se lancer dans de la prog pointue, tu ne verras jamais ce genre d'erreurs. Tout fonctionne autour de toolkits aujourd'hui. Message édité par Gf4x3443 le 11-11-2007 à 02:55:15 |
gee Bon ben hon | Merci pour tous ces détails c'est super intéressant --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Publicité | Posté le ![]() ![]() |
Page : 1 2 Page Suivante |
| Sujets relatifs | |
|---|---|
| bonne pratique pour les jeux de caracteres (ISO 8859-1 / UTF-8 /pspad) | [C#] [Résolu] Comment communiquer avec une dll c++ |
| [Résolu] [Charset] Gros pb entre UTF8 et ISO ? | [C] Des accolades "just pour le fun" ? |
| [HTML Mac/Linux - Les caractères sont ils affichés avec ISO 8859-1? | ORACLE 9i : problème ISO 2 |
| Xml / ISO et python qui veut pas des caractères non ascii [Résolu] | Probleme encoding ISO-8859-1 et caractère "&" |
| [usb linux ISO] 1 grande image : plusieurs urb's ou un seul grand ? | convertir des données utf-8 en iso-8859-1 |
| Plus de sujets relatifs à : C ISO et C++ ISO | |






