| |||||
Page : 1 2 Page Précédente | |
| Auteur | Sujet : C ISO et C++ ISO |
Publicité | Posté le 25-07-2007 à 21:42:07 ![]() ![]() |
gee Bon ben hon | --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Elmoricq Modérateur | Le C et le C++ sont deux langages distincts et donc, par conséquent, ils évoluent chacun de leur côté, indépendamment l'un de l'autre.
|
gee Bon ben hon | Merci pour les précisions, c'est très intéressant. Je vais commencer à m'intéresser un peu plus au fonctionnement des compilateurs je pense, pour mieux comprendre ce que je code... (j'ai fait un OS mais je ne vais probablement pas faire de compilo, le travail serait énorme j'imagine (quelque part, quand j'ai vu que tu m'avais répondu et avec la qualité de ma question et tes réponses habituelles aux newbs sur OSA je m'attendais à bien pire ^_^).
Message cité 1 fois Message édité par gee le 27-07-2007 à 00:52:47 --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Gf4x3443 Killing perfection |
|
Publicité | Posté le 27-07-2007 à 01:06:53 ![]() ![]() |
Gf4x3443 Killing perfection | Dans "binaire", ca inclut bytecode ou pas? |
gee Bon ben hon | oui --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Taz bisounours-codeur |
|
gee Bon ben hon | Ooh car les conventions ont pu changer entre les deux?
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Taz bisounours-codeur |
|
Taz bisounours-codeur | bah besoin que ça s'éloigne pour tout défoncer.
|
gee Bon ben hon | hmm?c'est à dire, sizeof ne renvoie pas la même chose? --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Taz bisounours-codeur | takakompilai |
gee Bon ben hon | hmm je regarderai cela au travail mais quand je voulais calculer la taille d'un tableau avec sizeof(variable)/sizeof(*variable) ca ne fonctionnait qu'avec un tableau 'statique' avec un dynamique ca donnait 1 d'où ma question.
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Taz bisounours-codeur | ça n'existe pas les tableaux dynamiques. Un tableau a une taille statique connue à la compilation (sans parler de C99). |
gee Bon ben hon | int *i = new int[10];
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Gf4x3443 Killing perfection |
|
gee Bon ben hon | Mais c'est ridicule. Quand je fais un delete, il doit bien savoir la taille a désaloué non? --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Ace17 |
Oui mais le langage n'offre aucun outil pour la recuperer, car ca n'aurait pas de sens ... vu que y'a pas de tableau dans l'histoire, mais juste un pointeur.
|
gee Bon ben hon | bah y'a bien un outil pour retrouver la mémoire allouée à ce pointeur non?
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Ace17 |
|
gee Bon ben hon | Bah c'est naze je trouve --------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
deather2 | C'est le kernel (ou la lib qui contient malloc, qui demande au kernel de la mémoire via brk()/sbrk() sous Unix) qui sait combien d'octet il alloue quand tu fais un appel a malloc() (new n'est qu'un "wrapper" vers malloc, avec support des arguments pour les constructeurs). Théoriquement, il n'est pas impossible de retrouver cette taille, en pratique rien de standard n'existe. Tu es censé savoir ce que tu alloues Sinon, du C objet, y'en a plein qui en font. Par exemple, GTK est écrit en C et complètement orienté objet. Mais c'est à vomir, certes Message cité 1 fois Message édité par deather2 le 09-11-2007 à 23:57:19 |
Ace17 |
Bienvenue dans le monde des langages de bas-niveau, petit scarabe.
|
gee Bon ben hon |
--------------- "Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!" |
Gf4x3443 Killing perfection |
Pas vraiment. Certes, le noyau sait ce qu'il a alloué, mais s'il fallait obtenir cette information ensuite, cela devrait passer par un appel système. Ce qui implique deux changements de contexte, pour une information qui est déjà disponible en userland (vu que tu as fait toi meme le malloc/mmap). Ca serait une perte de ressources inutiles. On pourrait aussi le garder dans la libc (un buffer ou autre, comme pour le IO fully buffered), mais ca impliquerait de devoir charger le runtime en C pour quelque chose qui est somme toute assez inutile. Ce qui est pénible en C/C++, c'est l'utilisation des pointeurs. C'est leur plus grand atout mais aussi leur plus grande faiblesse. Un manque de rigueur, et ca te fait un projet codé comme un pied qui va tourner sur du x86 mais se vautrer en bus error sur du sparc, simplement pour des casts de maÿrde et des pointeurs pas correctement alignés. Message cité 1 fois Message édité par Gf4x3443 le 10-11-2007 à 02:38:50 |
gee Bon ben hon | Tu peux expliquers plus en détail ta dernière phrase ca m'interesse.
--------------- "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 Précédente |

| 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 | |





