[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 : 4567
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
SH-CardBlogGalerieMa nouvelle 'fic

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4567
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
SH-CardBlogGalerieMa 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 : 4567
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
SH-CardBlogGalerieMa nouvelle 'fic

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4567
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
SH-CardBlogGalerieMa 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 : 4567
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
SH-CardBlogGalerieMa 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 : 4567
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
SH-CardBlogGalerieMa 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

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

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

Message par Maski » mer. 22 févr. 2017, 11:57

Visiblement c'est juste avast qui bloque des pages web douteuses.
Tu peux toujours vérifier que ton anti-virus est à jour et lancer un scan. Tu peux aussi essayer de faire le ménage dans tes plugins et extensions de navigateur, puis passer un coup de CCleaner et Malwarebyte au cas où.

Edit : quelqu'un a des infos sur la mise à jour A310FXXU2BQA3 de Samsung ? Impossible de trouver autre chose que les 3 lignes que mon portable m'affiche. :/
Image
SH-CardBlogGalerieMa 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, 15:39

Merci des renseignements,
Hier j'ai passé des scans sans succès, je décide d'aller me coucher, et ce matin, cela ne le faisait plus, comment est-ce possible ?
C'est assez bizarre puisque cela me bloquait l'accès à twitch ..
Merci quand même :)
Si cela venait à revenir, reboot mon pc aux paramètres d'usine pourrait servir ?

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

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

Message par Maski » mer. 22 févr. 2017, 15:53

A priori non vu que le problème viendrait d'avast.
Image
SH-CardBlogGalerieMa 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 » mar. 28 févr. 2017, 09:56

Bon ceux qui font de l'info font s'arracher les cheveux en me voyant parler téléphonie ici mais bon...
Mon huawei p8 lite ne me conviens vraiment pas sur android.Et 2 options s'offre à moi.
options 1) changer pour un autre cacadroid.
2) garder mon tél actuel pour les appli manquante et prendre un Windows phone qui me conviens mieux avec son environement (et les options que je cherche pour son prix)
J'ai prévut de re-prendre un nokia 950 xl vendu à 289€ sur rue du commerce vers un bon Windows phone avec une interface que j'apprécie.
(Et si y en a plus d'ici là faidra que je me rabttent sur un autre android et là bonjour les enmerdes)
je garderais cet ignoble p8 juste pour du jeux occasionel et mes cartes fidélité dématérialiser parceque les gens ont la flemme de coder des applis sur wp..
Alors petit 1)
Connaisez vous des offres par les opérateurs téléphonique (je suis chez bouygues actuellement) qui permettent d'avoir ma carte SIM de base pour les sms/appel un peu de web que j'utiliserais sur le WP, et une autre SIM uniquement pour internet que je mettrais sur android qui me servira pour quelque jeux et consulter mes applis quand les vendeur me proposerons de montrer ma carte.(Et en conservant mon numéros bien sur).Est bine sur dans ce cas si est ce que ce genre de carte est dispo en nano sim.

Petit 2) Est ce que sa marche bien entre 2 smartphone ? Sa a l'air béte mais j'ai cru comprendre que cette SIM était plutôt utiliser sur des tablettes ou consoles avec un port spécifiques :/ J'espére donc que même si il ne me sert pas pour téléphoner que ce dernier pourra s'allumer et reconnaître la SIM sans planter.

petit 3) est ce que certain opérateur propose de tester l'options comme ça si cela ne va pas je l'annule et je me rabat sur un autre android de merde :(.

J'ai pas prévut de me prendre un autre smartphone avant la fin du mois.Fin de la semaine si mon tél enchaine les crash.Sachant que j'ai toujours garder mon vieux téléphone si l'actuel me lache.

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

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

Message par Maski » mar. 28 févr. 2017, 12:30

Pour la SIM uniquement pour Internet ça doit être possible (après je sais pas si les forfaits que Internet existent). Les AirBox ont une SIM comme les téléphones mais j'ai pas essayer d'échanger avec celle de mon portable.

Après j'ai jamais entendu parler de cette option.
Image
SH-CardBlogGalerieMa 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 » mar. 28 févr. 2017, 12:47

ok je verais sa lundi en magasin bouygues.

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

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

Message par Maski » jeu. 09 mars 2017, 21:24

Bloup !
Avis aux programmeurs : vous ne connaîtriez pas un bon logiciel style emacs mais avec un outil surligneur en plus de la coloration ?

Mettons que j'ai un commentaire de 10 lignes qui comporte :
_des lignes qui expliquent ce que fait la fonction
_des printf qui servent à m'aider à débugguer
_des parties de fonctions qui ne sont que des idées qui ne marchent pas
_des penses-bêtes comme " mettre ça dans une fonction auxiliaire ", " donner de meilleurs noms aux variables " etc

Je peux vous dire que quand je sais que je suis la seule à bosser sur une fonction, il y a des zones de commentaires absolument partout ! J'aimerais donc pouvoir différentier ces 4 " types " de commentaires par des couleurs sans perdre la coloration et l'indentation (et la possibilité de mettre un thème sombre).

Btw, est-ce qu'Atom fait ça ?
Image
SH-CardBlogGalerieMa nouvelle 'fic

Avatar du membre
Brybry
Chef des Relations Externes
Messages : 5304
Enregistré le : dim. 15 juil. 2007, 21:53
Localisation : Suisse
Contact :

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

Message par Brybry » ven. 10 mars 2017, 18:42

Maski a écrit :Bloup !
Avis aux programmeurs : vous ne connaîtriez pas un bon logiciel style emacs mais avec un outil surligneur en plus de la coloration ?

Mettons que j'ai un commentaire de 10 lignes qui comporte :
_des lignes qui expliquent ce que fait la fonction
_des printf qui servent à m'aider à débugguer
_des parties de fonctions qui ne sont que des idées qui ne marchent pas
_des penses-bêtes comme " mettre ça dans une fonction auxiliaire ", " donner de meilleurs noms aux variables " etc

Je peux vous dire que quand je sais que je suis la seule à bosser sur une fonction, il y a des zones de commentaires absolument partout ! J'aimerais donc pouvoir différentier ces 4 " types " de commentaires par des couleurs sans perdre la coloration et l'indentation (et la possibilité de mettre un thème sombre).

Btw, est-ce qu'Atom fait ça ?
Perso je tourne avec la suite JetBrains, ça permet de faire ce que tu veux. Là je peux te montrer un exemple que j'ai fait vite fait sur IntelliJ (un IDE plutôt orienté Java), mais de mémoire on peut faire pareil avec CLion (C/C++), PyCharm (Python) et les autres de la suite.
Image
C'est un simple Hello World avec de la documentation sur ce que fait la fonction (en javadoc ici mais je te conseille de regarder doxygen si tu fais du C/C++, c'est très semblable), un type de commentaire custom (//DEBUG ...) qui fait que tous les commentaires qui commenceront par "//DEBUG" seront surlignés, le type de commentaire TODO (qui indique ce qu'il faudrait faire, ça coïncide avec ton idée de pense-bêtes) et le type de commentaire FIXME qui coïncide avec ton 3ème point.

À noter que TODO et FIXME sont implémentés de base dans l'IDE mais tu peux définir les tiens (comme j'ai fait avec DEBUG) via des patterns et modifier comment ils seront affichés à ta guise.

Il me semble que ce système de commentaires n'existe pas que dans la suite JetBrains donc je pense que tu as l'embarras du choix. Aussi, la suite JetBrains est payante (et pas donnée), mais tu peux l'avoir gratuitement si tu es étudiante (cf: https://www.jetbrains.com/student/).

Si tu veux utiliser un autre IDE, par exemple Atom comme tu dis, apparemment c'est possible d'utiliser les TODO via un package (https://atom.io/packages/todo-show), mais je sais pas ce que ça vaut.

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

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

Message par Maski » ven. 10 mars 2017, 20:04

Super, j'installe ça dès que j'ai fini mon solveur, merci !
Je vois que CLion permet aussi de lancer le CMake. Il y a un compilateur C intégré ?

Awé, si c'est un package pour Atom, je pense que je ne vais pas l'installer vu qu'Atom ne tourne pas sous mon x2Go.
Image
SH-CardBlogGalerieMa nouvelle 'fic

Répondre