[Topic unique] L'informatique (programmation, hardware ...)

Pour parler de tout ce que vous voulez qui n'est pas Pokémon (Manga, écologie, j'en passe et j'en oublie)
Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » mer. 07 sept. 2016, 20:43

D'après mon cours ce n'est que de l'optimisation. Du coup cette mini-étape doit aussi permettre de virer les commentaires par exemple, vu que la machine s'en fiche non ?

Pour ce qui est de la conversion en hexa, je faisais comme toi jusque là et c'est pour ça que je ne comprends pas d'où sort son 8^16. Il avait pris comme exemple 0000 0000 (en base 8 il me semble) qui donnait FFFF FFFF en hexa.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Oni-Link
Chef des Newseurs
Messages : 6577
Enregistré le : mar. 01 juin 2010, 18:11

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Oni-Link » mer. 07 sept. 2016, 20:54

0 en base 8 donne 0 en base 16...

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » mer. 07 sept. 2016, 21:04

Je sais. Alors comment il a trouvé ça ? A moins que le " FFFF FFFF " ait été pris au pif ...
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Citron
Membre
Messages : 4525
Enregistré le : lun. 11 mai 2009, 19:35
Localisation : HUN HUN HUN

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Citron » mer. 07 sept. 2016, 21:07

Auuuuuuuuuuuucune idée, tu dois te planter quelque part.
Image

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » mer. 07 sept. 2016, 21:14

Bah, il nous a sorti ça en plein milieu du cours quand quelqu'un lui a fait remarquer que si les adresses des cases mémoire étaient des entiers codés sur 1 octet, ça faisait peu de cases mémoire.
Après c'est aussi lui qui nous a dit que la compilation (ce que Tronci appelle l'optimisation) faisait les remplacements des #define et #include ...
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Citron
Membre
Messages : 4525
Enregistré le : lun. 11 mai 2009, 19:35
Localisation : HUN HUN HUN

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Citron » mer. 07 sept. 2016, 21:22

C'est sûr, un octet ça fait peu x)
Après, la "compilation" au sens large, c'est tout le processus code moche > code très moche > fenêtre magnifaïque, d'un côté il a pas tort x)
Image

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » dim. 11 sept. 2016, 16:27

Bon, entre les tuto's de la fac qui sont bourrés d'erreur et les commandes windows que je ne trouve pas, il faut absolument que j'installe Ubuntu en dual boot avec W10. prozac:
Mon W10 démarre en EFI. J'ai un disque dur vierge de 541 Go (windows est visiblement sur l'autre DD) et une mémoire de 6 GB.

Donc j'ai cherché comment faire et j'ai trouvé ça : https://doc.ubuntu-fr.org/uefi#installe ... r_de_l_efi

Mais il y a des choses que je ne comprends pas :
1_ (question bête) Clé USB de récupération et de réparation c'est bien la même chose ?
2_ Pour ce qui est du liveUSB, je peux télécharger la licence (et l'image système) sur Internet et la mettre sur une clé USB bootable ?
3_ Vu que je ne me servirai d'Ubuntu que pour de la programmation (aka mes TP), est-ce que Ubuntu Desktop suffit ?
4_ C'est quoi la différence entre " Essayer Ubuntu " et vraiment installer Ubuntu ?
5_ Qu'est-ce que ça veut dire que W10 démarre en EFI ? J'ai compris que ça intervenait juste après le SE mais concrètement, qu'est-ce que ça changerait si c'était Ubuntu qui démarrait en EFI ? (sachant que ça ne me dérange pas de laisser W10 démarrer en EFI)

J'ai aussi trouvé cette vidéo qui me paraît beaucoup plus simple et qui me fait surtout moins peur, oui j'ai tendance à un être un peu parano quand il s'agit de mon ordi. ^^'
Par contre, j'aimerais savoir comment choisir le DD sur lequel installer Ubuntu.

Autre question : est-ce qu'en passant de W10 à Ubuntu je pourrais utiliser les fichiers et logiciels installés sur W10 (je pense notamment à GNU, car il me semble qu'il faut quand même l'installer sur Ubuntu) sur Ubuntu ?

Merci d'avance. :jap: (le nom de ce smiley dans la liste x) )
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Yuu » dim. 11 sept. 2016, 17:25

Il n'y a pas d'install party ou autre à ta fac ? Ou bien une personne que tu connais qui peut aider pour faire un dual boot ? Si tu as peur de faire une bêtise, c'est le meilleur moyen de ne pas avoir de soucis. Après ce n'est pas non plus très compliqué.
Maski a écrit :Bon, entre les tuto's de la fac qui sont bourrés d'erreur et les commandes windows que je ne trouve pas, il faut absolument que j'installe Ubuntu en dual boot avec W10. prozac:
J'avais vu ton post plus haut que tu avais supprimé, et oui faire un dualboot (ou mettre une vm à la rigueur) avec ubuntu/debian, ça te retirerait les soucis que tu as (opam a pas de version windows, de ce que j'ai pu voir ça et là). Je suis plus pro debian que ubuntu (j'aime pas le côté proprio de ubuntu), mais chacun son truc. Et c'est pas le lieu pour faire une guerre de distrib.

Maski a écrit :Mon W10 démarre en EFI. J'ai un disque dur vierge de 541 Go (windows est visiblement sur l'autre DD) et une mémoire de 6 GB.
Es tu sûre d'avoir deux DD / un DD + un SSD sur ton pc ? Il ne faut pas confondre les partitions (C:, D:), et les disques.
1_ (question bête) Clé USB de récupération et de réparation c'est bien la même chose ?
Normalement oui. De tout façon , ce que tu veux faire, c'est télécharger une

2_ Pour ce qui est du liveUSB, je peux télécharger la licence (et l'image système) sur Internet et la mettre sur une clé USB bootable ?
Oui, tu télécharges l'image sur un des dépôts sur internet et tu la "graves" sur une clef pour transformer ta clef en clef bootable.
3_ Vu que je ne me servirai d'Ubuntu que pour de la programmation (aka mes TP), est-ce que Ubuntu Desktop suffit ?
Pour ton cas, oui, c'est la version adaptée.
4_ C'est quoi la différence entre " Essayer Ubuntu " et vraiment installer Ubuntu ?
Le "Essayer", ne va pas installer Ubuntu sur ton ordinateur. Tu vas lancer une image fonctionnelle (présente sur ta clé USB) et tu n'utiliseras pas le disque dur de ton ordi. Dans le cas présent,"Essayer Ubuntu" sera utilisée pour que tu obtiennes un terminal de commande avec lequel tu pourras modifier ton installation et "réparer" cette dernière.
5_ Qu'est-ce que ça veut dire que W10 démarre en EFI ? J'ai compris que ça intervenait juste après le SE mais concrètement, qu'est-ce que ça changerait si c'était Ubuntu qui démarrait en EFI ? (sachant que ça ne me dérange pas de laisser W10 démarrer en EFI)
Vois UEFI comme un bios avec des fonctions en plus. La façon dont démarre un OS dépend uniquement de la façon dont il est installé. Les windows les plus récents sont forcément en UEFI si ta machine est compatible. Si tu as W10 en UEFI, tu es obligé d'installer Ubuntu en UEFI, sinon, tu ne pourras jamais démarrer Ubuntu car il sera caché par W10. Il est possible de modifier la façon dont Ubuntu est installé par la suite mais c'est chiant à faire, et du coup, pas du tout conseiller.
Merci à Reap pour ce super avatar.

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » dim. 11 sept. 2016, 18:01

Non, à moins que j'aille courir je ne sais où sur le campus.
Du coup, je pense que je n'ai qu'un seul DD, ce qui est bizarre vu que mon XP avait bien 2 DD. (mais c'était mon frère qui s'était monté le PC)
Merci en tout cas !
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » mer. 14 sept. 2016, 21:25

Bon finalement j'ai résolu mon problème : W10 dispose d'un mode développeur qui permet en quelques clics d'installer le bash de Ubuntu. Du coup, pas besoin de faire un dual-boot et je peux zigzaguer entre mes fichiers Windows et Ubuntu à volonté. J'ai maintenant un autre soucis car visiblement je suis censée exécuter le script depuis un dossier d'emacs que je n'ai pas (il n'est même pas dans le .zip de mon archive :v ) mais je verrai ça avec le prof demain.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » dim. 25 sept. 2016, 16:56

Plop ! J'ai un petit problème en C cette fois : je dois écrire une fonction qui libère la mémoire via la fonction free. Mais c'était trop facile de nous faire libérer la mémoire dans la fonction qui l'alloue. Du coup, si je veux libérer la mémoire allouée par " malloc " j'ai juste à faire " free (nom_var.nom_champ) " et " nom_var.nom_champ = NULL " ?

Code : Tout sélectionner

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

struct barCode{
  int size;
  int * code;
};

void printBarCode(struct barCode b,int h); // given function
struct barCode generateBarCode(int size); //given function alloue la mémoire via " malloc "

void freeBarCode(struct barCode b){
    free(b.code);
    b.code=NULL;
}
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Yuu » dim. 25 sept. 2016, 20:47

Il y a une erreur dans ta fonction freeBarCode. Tu as passé ta structure par valeur, et non par pointeur. Là, une copie de ta structure est faite et c'est cette copie qui a son pointeur modifié (le free est quand même fait par contre). Du coup le b.code=NULL ne sert à rien dans l'état actuel des choses. Si tu veux garder cela, modifie ta fonction en :

Code : Tout sélectionner

void freeBarCode(struct barCode *b){
free(b->code);
b->code=NULL
Pour l'utiliser, il te suffit de faire

Code : Tout sélectionner

struct barCode b;
...
tout ce que tu veux faire avec b
...
freeBarCode(&b);
Au cas où c'est nécessaire, je donne un exemple sur l'utilisation de free,

Si tu as :

Code : Tout sélectionner

Bidule* ressource = (Bidule *) malloc(sizeof(Bidule));
Pour le libérer, il suffit de faire

Code : Tout sélectionner

free(ressource);
CEPENDANT,
free par défaut, ne change pas la valeur du pointeur à NULL, ce qui peut poser problème si par erreur, tu cherches à utiliser le pointeur ressource avec la valeur actuelle après libération. L'utilisation d'un pointeur sur une zone déjà libérée, c'est un comportement indéterminé. Cela peut faire une erreur de segmentation dans le cas sympa. Dans le pire des cas, tu fais faire caca dans ta mémoire et avoir une comportement complètement erratique ( et le programme ne plantera pas). Du coup, il est recommandé de mettre le pointeur libéré à NULL dans la plupart des cas comme cela, tu te prends une erreur de segmentation et tu sais que tu as fait une erreur à un endroit.

En dehors de cela, j'ai plusieurs remarques sur le peu de code que tu as mis :
  • Pense à TOUJOURS tester la valeur de retour de malloc. (ce que je n'ai pas fait dans l'exemple mais c'était pour pas alourdir avec un if(NULL == (ressource = ...){ } ).
  • Pense à nommer tes variables avec un nom compréhensible. i ou j pour une variable de boucle ça va. a et b pour le nom de deux char *, c'est moyen vu que cela ne permet pas de déduire ce que c'est (c'est un exemple).
  • Quand tu définies une structure, tu peux lui ajouter un alias, par exemple,

    Code : Tout sélectionner

    typedef struct machin{
    ....
    }Machin,Jeveuxunnomlong;
    cela te permet d'écrire Machin ou Jeveuxunnomlong à la place de struct machin.
  • Renvoyer une structure, c'est pas beau, si ta structure possède un tableau de 10000 entiers, les 10000 entiers seront recopié à chaque fois. C'est mieux de passer ta structure par adresse (avec *) en argument de ta fonction. Et c'est pareil pour les structures passées en argument par valeur (sans *, en somme) à une fonction.
    Ne pas renvoyer une structure, cela permet aussi par exemple de pouvoir renvoyer un code d'erreur, surtout si tu as besoin de faire des allocations. Cela peut échouer et tu n'as potentiellement aucun moyen de vérifier cela si tu n'as pas une façon de signaler une erreur. Une autre option possible est de renvoyer un pointeur vers un structure (et on teste si NULL pour voir s'il y a un échec), mais cela demande d'allouer la structure entière, ce qui n'est pas forcément le comportement souhaité.
    Par conséquent, il vaut mieux :

    Code : Tout sélectionner

    int (ou void) generateBarCode(struct barCode*, int size);
    ou

    Code : Tout sélectionner

    struct barCode * generateBarCode(int size);
    que ce que tu avais (cela prend beaucoup moins de place sur la pile d'appel). Le choix entre void/int dépend de si tu peux échouer, le cas échéant, tu as envie de remonter un code d'erreur.
  • Il est possible que tu l'utilises dans des morceaux de codes qui ne sont pas là, mais pense à ne jamais mettre plus de #include qu'il n'en faut dans un fichier (je fais référence là à time.h qui n'a pas l'air d'être utilisé à un moment (stdio doit l'être dans ton printBarCode))
PS nazi : Au niveau des conventions d'écritures, les gens ont tendances à utiliser snake_case en C/C++ au lieu de CamelCase. Mais au pire osef de ça.
Merci à Reap pour ce super avatar.

Draekyn
Membre
Messages : 5
Enregistré le : mer. 18 juil. 2012, 17:24

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Draekyn » dim. 25 sept. 2016, 21:25

Maski a écrit : Et aussi, vous sauriez comment désactiver/désinstaller des programmes préinstallés par Microsoft du genre Groove Music. Avant la dernière mise à jour il me suffisait de faire clic droit > désinstaller mais là impossible. (mise à jour de merde de Windows
Pour supprimer des trucs de W10 préinstallés, y a https://github.com/Nummer/Destroy-Windo ... ag/1.6.722 (faut aller dans "Settings" pour supprimer les trucs de l'interface Metro).
blabla

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » dim. 25 sept. 2016, 21:58

Merci les gens !

Draekyn > Thanks, je verrai ça plus tard. (quand j'aurais attrapé ce maudit Passerouge shiny j'aurais plus de temps pour penser à autre chose)
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » jeu. 27 oct. 2016, 19:33

Il existe un simulateur d'environnement en ligne ? J'ai pas envie d'installer une VM juste parce que le serveur de ma fac a décidé de faire sa crise aujourd'hui. :/
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Hayatte MADIk0x
Membre
Messages : 3891
Enregistré le : lun. 02 janv. 2012, 16:10

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Hayatte MADIk0x » ven. 28 oct. 2016, 09:11

les fermes de serveur des etablissement scolaire.Ou un argument de choix pour. avoir toujours une vm sur son perso.

Si pour minbts j avais laisser toutes les machines sur la ferme je me serais retrouver bien con avec mon projet de fin d annee.
Pareil pour le projet de fac.

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » ven. 28 oct. 2016, 12:03

Le soucis c'est que j'ai besoin de mon emacs avec Tuareg qui n'est que sur les ordi's de la fac.
En temps normal ça fonctionne parfaitement, sauf pendant les heures de cours et quand ils font des maintenances sans prévenir, comme là.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Yuu » ven. 28 oct. 2016, 14:03

Je t'ai déjà dit que mettre une VM c'était mieux :(
Ou un dual boot.
Merci à Reap pour ce super avatar.

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par Maski » ven. 28 oct. 2016, 14:26

J'ai essayé la VM mais j'ai pas du télécharger le bon .iso ... hum:
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
CC6
Membre
Messages : 575
Enregistré le : mer. 22 juin 2011, 05:13
Localisation : Pas-De-Calais (62)

Re: [Topic unique] L'informatique (programmation, hardware ...)

Message par CC6 » mer. 22 févr. 2017, 07:31

Bonjour, j'ai un petit problème et aurais besoin d'aide.
Depuis hier, je reçois des messages de menaces bloquées avec comme nom d'infection : VBS malware-gen et je ne sais pas ce que je peux faire pour résoudre cela.
Pourriez-vous m'aider ?
Merci d'avance

Répondre