[Topic unique] L'informatique (programmation, hardware ...)
- 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 ...)
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.
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.
Re: [Topic unique] L'informatique (programmation, hardware ...)
0 en base 8 donne 0 en base 16...
- 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 ...)
Je sais. Alors comment il a trouvé ça ? A moins que le " FFFF FFFF " ait été pris au pif ...
Re: [Topic unique] L'informatique (programmation, hardware ...)
Auuuuuuuuuuuucune idée, tu dois te planter quelque part.

- 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 ...)
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 ...
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 ...
Re: [Topic unique] L'informatique (programmation, hardware ...)
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)
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)

- 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 ...)
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.
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.
(le nom de ce smiley dans la liste x) )

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.

Re: [Topic unique] L'informatique (programmation, hardware ...)
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é.
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 :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.![]()
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.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.
Normalement oui. De tout façon , ce que tu veux faire, c'est télécharger une1_ (question bête) Clé USB de récupération et de réparation c'est bien la même chose ?
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.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 ?
Pour ton cas, oui, c'est la version adaptée.3_ Vu que je ne me servirai d'Ubuntu que pour de la programmation (aka mes TP), est-ce que Ubuntu Desktop suffit ?
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.4_ C'est quoi la différence entre " Essayer Ubuntu " et vraiment installer Ubuntu ?
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.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)
Merci à Reap pour ce super avatar.
- 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 ...)
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 !
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 !
- 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 ...)
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
) mais je verrai ça avec le prof demain.

- 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 ...)
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;
}
Re: [Topic unique] L'informatique (programmation, hardware ...)
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 :
Pour l'utiliser, il te suffit de faire
Au cas où c'est nécessaire, je donne un exemple sur l'utilisation de free,
Si tu as :
Pour le libérer, il suffit de faire
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 :
Code : Tout sélectionner
void freeBarCode(struct barCode *b){
free(b->code);
b->code=NULL
Code : Tout sélectionner
struct barCode b;
...
tout ce que tu veux faire avec b
...
freeBarCode(&b);
Si tu as :
Code : Tout sélectionner
Bidule* ressource = (Bidule *) malloc(sizeof(Bidule));
Code : Tout sélectionner
free(ressource);
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,
cela te permet d'écrire Machin ou Jeveuxunnomlong à la place de struct machin.
Code : Tout sélectionner
typedef struct machin{ .... }Machin,Jeveuxunnomlong;
- 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 :ouCode : Tout sélectionner
int (ou void) generateBarCode(struct barCode*, 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.Code : Tout sélectionner
struct barCode * generateBarCode(int size);
- 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))
Merci à Reap pour ce super avatar.
Re: [Topic unique] L'informatique (programmation, hardware ...)
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).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
blabla
- 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 ...)
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)
Draekyn > Thanks, je verrai ça plus tard. (quand j'aurais attrapé ce maudit Passerouge shiny j'aurais plus de temps pour penser à autre chose)
- 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 ...)
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. :/
- Hayatte MADIk0x
- Membre
- Messages : 3891
- Enregistré le : lun. 02 janv. 2012, 16:10
Re: [Topic unique] L'informatique (programmation, hardware ...)
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.
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.
- 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 ...)
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à.
En temps normal ça fonctionne parfaitement, sauf pendant les heures de cours et quand ils font des maintenances sans prévenir, comme là.
Re: [Topic unique] L'informatique (programmation, hardware ...)
Je t'ai déjà dit que mettre une VM c'était mieux 
Ou un dual boot.

Ou un dual boot.
Merci à Reap pour ce super avatar.
- 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 ...)
J'ai essayé la VM mais j'ai pas du télécharger le bon .iso ... 

- CC6
- Membre
- Messages : 575
- Enregistré le : mer. 22 juin 2011, 05:13
- Localisation : Pas-De-Calais (62)
Re: [Topic unique] L'informatique (programmation, hardware ...)
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
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