GCC ne génère pas du code, il compile du code vers du binaire.
Il génère du code machine ![]()
Oui en effet en réflechissant, je dis de la merde
excusez moi.
Hello , je cherche a apprendre le C++ , je connais déjà le C# , quelqu'un connais un bon tuto / IDE ![]()
"caelacanthe, tu parles d'un nouveau noyau c'est ça ?
"
"nouveau", pas vraiment, disons que quand le système GNU était pratiquement achevé début 90, ils leur manquaient uniquement le noyau (alors appelé le Hurd), alors Linux est arrivé et ils se sont dit qu'ils le prendraient en attendant et qu'ils continueraient de développer le leur à côté, genre, moins vite
Et jusqu'à récemment, sur le site de GNU, ils disaient que "le noyau hurd est en développement actif et n'est toujours pas près pour un usage courant" etc etc, paye ton arlésienne
Là ils ont changé la phrase, ils disent que le noyau est toujours développé car ça reste un projet intéressant.
Mais je sais pas, ça donne un feeling bizarre de lire que tout était presque fini sauf le noyau il y a vingt ans de cela et que ça prend tellement de temps ![]()
Bonsoir à tous.
J'ai une question.
J'apprends le langage C à l'Université(j'ai commencé l'an dernier et en cours on devrait le finir d'ici l'été prochain).
Ça veut dire que ça me prendrait moins d'un an à chaque fois d'apprendre d'autres langages qui semblent proches du C ?
(C++…C#) , en autodidacte ou en stage..
Qu'en est-il des langages comme le Java, le python.. ?
Merci pour l'aide ![]()
Salut,
Non, le plus long c'est de commencer : le premier langage, le premier framework, les premières libs graphiques, ... Par la suite, c'est bien plus rapide si tu reste dans le même paradigme.
Passer du C au C++ demandera un peu de temps en soi parce qu'on passe au paradigme objet (et aussi d'un langage minimaliste à une usine à gaz, mais c'est encore autre chose), mais après switcher d'un sens ou l'autre en C++, Java, C#, Obj-C, Python, Ruby, ... c'est bien plus rapide, parce qu'on a plus les concepts de base de la prog' et du paradigme à apprendre, seulement les concepts du langage. Et à ce moment-là c'est juste un peu de mémoire et de logique, puisque le plus gros du savoir que tu vas acquérir sera plus abstrait que ça.
Par contre passer d'un paradigme à un autre foncièrement différent (Objet vers Fonctionnel, par exemple), c'est un peu comme reprendre de 0, dans beaucoup de cas.
Enfin, pour la petite anecdote, les 'Pragmatic Programmers' conseillent d'apprendre au moins 1 langage par an pour se diversifier ![]()
(ah et, pour prendre la question dans l'autre sens, si tu t'étonnais de la durée relativement faible : ce dont je parlais, c'est grosso modo pour être fluent dans la grammaire du langage et pouvoir s'en servir avec suffisamment d'aisance, pas une quelconque "maîtrise". On ne maîtrise pas un langage en 1 an si toutefois cette notion existe, et certainement pas uniquement avec de la théorie.)
C'est simple d’appréhender les bases d'un langage (en général), mais maitriser un langage c'est complètement subjectif en programmation, je dirais que les bases s'apprennent en 6 mois et un bonne maitrise en 2-3ans...
Certains te diront qu'une semaine suffit pour les bases, d'autres diront qu'il faut une dizaine d'années pour maitriser un langage...
Salut à tous,
J'ai une question simple à vous poser. D'où vous vient votre inspiration quand vous commencer à programmer (hors cadre professionnel) ?
J'adore programmer mais je n'ai quasiment pas d'inspiration en ce moment
Je souhaite réaliser une application android mais je ne sais pas du tout vers quoi aller. De temps en temps j'ai quelques petites idées (j'avais voulu faire un genre de toolbox pour android) mais à chaque fois je vais faire un tour sur le market et je me rend compte qu'il y en a déjà une blinde et souvent des très bien faites auquelles je ne serai quoi rajouter.
soulfly6288 : 1. Je rencontre un problème. 2. Je cherche si quelqu'un a déjà fourni une solution libre qui y répond. 3. Si c'est pas le cas, ou si la solution ne me "plaît" pas (sur différent critères personnels), je code ma propre solution qui correspond spécifiquement à mes besoins (ou je modifie une solution libre existante, selon ce dont j'ai besoin).
Donc dans ton cas pour l'application Android "toolbox", et en suivant la logique que j'expose ci-dessus, tu es à l'étape 2, face à la condition suivante :
Bon, ça c'est ma propre logique, en ignorant le caractère "libriste", tu peux t'arrêter directement à "il existe déjà une application qui répond à ton problème", auquel cas ça n'a que très peu d'intérêt de coder ta propre version.
Note que si tu cherches à coder cette application *uniquement pour apprendre*, c'est toujours intéressant de te lancer là dedans, quitte à réinventer la roue, et même si elle est un peu plus carrée que les autres sur le store. Mais n'espère alors pas en tirer quoi que ce soit de plus.
Fais une application qui répond à un de tes besoins/problème ou à ceux d'une communauté de personne ![]()
Bonsoir !
Je programme actuellement en C avec SDL 1.2, et je fais quelques tests. J'ai remarqué que quand je veux libérer la mémoire d'un pointeur, à savoir un pointeur de type SDL_VideoInfo, le compilateur me renvoie ceci :
"passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type"
J'ai par défaut activé tous les warnings. Je comprends bien ce qu'il me dit, le pointeur est de type const free attends un void*.
J'imagine que ce n'est pas très grave, mais je me sens démunie face à ce problème
Une solution ? Merci ! ![]()
Ah je crois que j'ai trouvé ! J'ai utilisé un cast, quelqu'un peut confirmer que c'est la bonne solution ?
probablement pas!
Comment est ce que la memoire associe a ce pointeur a ete alloue?
Voici la fonction que je dois utiliser :
SDL_VideoInfo *SDL_GetVideoInfo(void);
Je récupère donc l'adresse comme ceci :
const SDL_VideoInfo *videoInfo = SDL_GetVideoInfo();
Par contre je viens de me rendre compte que SDL libère tous ses pointeurs avec SDL_Quit il me semble. Car à la fermeture du programme il me disait :
double free or corruption
Donc le problème est "réglé" néanmoins je suis intéressée par savoir comment on peut libérer la mémoire d'un pointeur de type const ![]()
elite_2009, oui je sais, mais il n'y a pas moyen de libérer ce pointeur const sans message ?
Quand un pointeur te vient d'une API, ecoute l'API pour savoir comment liberer la memoire associe. Ici [1] ne dit rien du tout. Donc sa desallocation n'est pas la responsabilite du programmeur.
[1] http://sdl.beuc.net/sdl.wiki/SDL_GetVideoInfo
Merci à vous deux
Oui godrik ça explique vraiment l'erreur à la fermeture du programme ![]()
Ah ouais quand même, je m'amusais gcc pour tester l'optimisation.
Avec ce main :
int a = 7;
return a;
Sans le flag O passé à gcc j'obtiens ça à peu près :
pushq %rbp
movq %rsp, %rbp
movl $7, -4(%rbp)
movl -4(%rbp), %eax
popq %rbp
ret
Avec gcc -O :
movl $7, %eax
ret
C'est pour le moins radical
D'ailleurs quand je regarde la sortie assembleur c'est bourré de label genre :
.cfi_def_cfa 7, 8
Ca correspond à quoi exactement ?