CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

printf("blabla");

Silvermo
Silvermo
Niveau 26
27 mars 2014 à 21:54:59

Elle doit déjà exister sous le nom PATH, ou Path.... vérifie dans un terminal en ligne de commande avec la commande
echo %PATH%

Si y a rien qui vient à part %PATH% c'est qu'elle existe pas, crée là

godrik
godrik
Niveau 30
27 mars 2014 à 22:04:30

"Je pense que ça dépends de quel genre d'optimisations on parle, des optimisations au niveau algorithmique sont à considérer dès le départ, personne n'a jamais dit le contraire, en revanche des optimisation bas-niveau avec des petits trucs de hacker sont plutôt à considérer seulement après avoir fait du profiling."

Non plus. Par ce que c'est optimization de bas niveau sont tout aussi importante. Elle peuvent te donner un facteur 10 ou 100 de performances. Mais elles demandent de changer le layout des donnees en memoire. Et si ton code est objectifie avec de l'allocation dynamique de partout (ce qui est le schema standard) alors tu te retrouve a avoir un layout qui est impose par l'architecture globale de ton application.

Par exemple, si tu decide d'envoyer une partie des calcul sur ton GPU programmable, il faut que les donnees soit contigue en memoire pour avoir le maximum de bande passante entre la memoire et le GPU.

Ou encore, les histoire de "structure of array Vs array of structure" fait la difference entre une execution scalaire qui trashe le cache et un code super scalaire qui tient dans le cache.

Vincekool
Vincekool
Niveau 8
27 mars 2014 à 22:06:59

Oui mais comment on crée la variable ? :O

Silvermo
Silvermo
Niveau 26
27 mars 2014 à 22:12:40

https://www.google.be/search?q=cr%C3%A9er+variable+path+windows+7&oq=cr%C3%A9er+variable+path+windows+7&aqs=chrome..69i57j0l2.3651j0j7&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8

Silvermo
Silvermo
Niveau 26
28 mars 2014 à 18:44:10

Voici une vidéo vraiment pas mal pour ceux qui ont vécu des réunions horribles ^^ https://www.youtube.com/watch?v=BKorP55Aqvg

Pseudo supprimé
Pseudo supprimé 29 mars 2014 à 03:22:54

Salut ! J'aimerais tester un peu autre chose que du graphique avec SDL, du coup je pensais à GTK+

Qu'est-ce que vous pensez de cette bibliothèque (qui m'a l'air assez importante) ?

Je précise que je code toujours en C.

Silvermo
Silvermo
Niveau 26
29 mars 2014 à 08:39:07

Que cherches-tu à faire déjà outre le fait de seulement tester ?

Pseudo supprimé
Pseudo supprimé 29 mars 2014 à 14:19:48

En fait j'ai dans l'idée de faire un petit éditeur d'image, avec palette limitée. Rien de prétencieux, c'est pour moi éditer des sprites. Je sais que c'est même possible avec SDL mais je trouvais plus pratique d'avoir des menus classiques.

Pseudo supprimé
Pseudo supprimé 30 mars 2014 à 22:10:11

Mmm, finalement mon choix se porte sur la bibliothèque QT. Du coup j'ai entamé l'apprentissage de C++ (ça me changera du C après ces années :o)) )

J'ai une petite question, au niveau des références. Je ne peux pas m'empêcher de remarquer leurs similitudes avec les pointeurs, et du coup j'ai un peu de mal à y voir une utilité... Si j'ai bien compris, c'est à peut près pareil sauf qu'on ne peut pas toucher aux adresses avec les références ?

Mjonir
Mjonir
Niveau 26
30 mars 2014 à 22:27:33

VampireGirl -> En simplifiant un peu, il n'y a rien que tu puisses faire en C++ que tu ne pourrais pas très bien faire en C avec d'autres mécanismes moins restrictifs. L'intérêt de ces restrictions est sémantique, sécuritaire (niveau code correct) et permet d'utiliser certains autres mécanismes.

De façon générale, je te décourage à penser "je n'en vois pas l'utilité". En programmant en C++ tu devrais penser l'inverse: Toujours utiliser des références (plus restrictif) et n'utiliser le pointeur que si tu y es absolument obligée.

En poussant à l'extrême, je dirais même qu'en C++11 tu ne devrais jamais:
- Utiliser de pointeur style C (-> soit référence, soit shared_ptr ou unique_ptr).
- Utiliser new (-> conteneur standard, make_shared ou make_unique).
- Utiliser des arrays style C (-> au moins std::vector ou std::array).
- Utiliser de cast syle C (-> static_cast dans la plupart des cast)

J'exagère un peu, mais c'est un set de règles que j'enfreins rarement sur une application de bureau. Ça doit au moins tirer au alarme quand c'est le cas.

Mjonir
Mjonir
Niveau 26
30 mars 2014 à 22:30:53

Oh, et vis-à-vis du deuxième point, si new est en général à éviter, malloc() est totalement à proscrire (encore une fois, sauf exception hein, en C++ plus qu'ailleurs y a rien d'absolu :p).

Pseudo supprimé
Pseudo supprimé 30 mars 2014 à 22:34:48

Merci de tes conseils Mjonir :p) Oui j'ai été un peu vite en disant que ça n'avait aucune utilité, ça permet clairement de ne pas chipoter aux adresses, et le code est plus clair à lire je trouve.

Pour malloc j'imagine, je viens de voir ce que sont les "vector" et c'est vrai que ça a l'air super pratique ces bêtes là !

LEpigeon-888
LEpigeon-888
Niveau 12
30 mars 2014 à 23:45:11

"make_unique" n'est pas disponible en C++11 de ce que je sache, mais le sera avec C++14, donc le "new" est toujours utile, mais delete de sert plus à rien.

Mjonir
Mjonir
Niveau 26
31 mars 2014 à 00:01:20

Ah yep, c'est vrai, j'oubliais. C'est apparemment un oublié du comité, je l'ai bien vite rajouté à mon header d'utilitaires :P

Pseudo supprimé
Pseudo supprimé 31 mars 2014 à 00:55:09

Trop bizarre par contre, les fichiers sont fermés à la fin des blocs :o)) Moi qui suis habituée à fclose...

Est-ce une bonne pratique si une fois que je n'en ai plus besoin je demande explicitement de les fermer ?

lokilok
lokilok
Niveau 16
31 mars 2014 à 15:40:33

J'ai jamais fait autrement qu'en fermant explicitement perso.

Mjonir
Mjonir
Niveau 26
31 mars 2014 à 22:07:27

Fais ce qu'il y a de plus clair. 3 cas de figure (avis personnel ici uniquement):

1) Si quand t'en as fini avec le fichier tu es à la fin du bloc => ce serait une ligne pour rien.
2) Tu utilises juste le fichier localement pour faire une opération et tu peux faire un scope local, fais le. Ex:

int x;

// Loading x
{
std::ifstream file("my_x")
file >> x
}

3) Si par contre ton fichier est utilisé au milieu du bordel, que tu as besoin de variables qui viennent avant et que certaines doit partir après, et que tu serais donc forcée de faire des déclarations hors du bloc, autant fermer explicitement. Personnellement je n'ai jamais rencontré ce cas de figure en pratique, y a toujours moyen de découper proprement.

Le C++ c'est strict, mais en échange les destructeurs c'est magique :)

Spud02
Spud02
Niveau 10
08 avril 2014 à 21:03:53

Salut :noel:

godrik
godrik
Niveau 30
03 mai 2014 à 17:27:34

Mon dieu...

-MrPocolo
-MrPocolo
Niveau 10
03 mai 2014 à 17:47:29

C'est l'avenir de l'enseignement.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment