IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Question sur Eraser


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 74
    Points : 42
    Points
    42
    Par défaut Question sur Eraser
    Bonjour,
    J'ai récemment regardé le code source de ce logiciel d'effacement sécurisé de données. Et j'ai été assez troublé. Tout d'abord pourquoi n'y a t-il pas de main ?
    Un programme n'est-il pas obligé d'avoir une fonction principale ?

    Ensuite, je me suis demander comment faire pour écrire directement sur un disque dur ? C'est à dire à un emplacement bien précis ( je n'ai pas une connaissance approfondie de l'adressage de la memoire d'un disque dur mais je crois que cela s'appelle "cluster") ?

    Si quelqu'un pourrait bien m'éclairer sur le sujet, j'essaye d'éplucher le code depuis deja un certain temps...

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Un programme écrit en langage C est composé de fonctions et d'appels de ces fonctions. Chaque implémentation doit disposer d'un moyen permettant à l'utilisateur de spécifier laquelle des différentes fonctions qui constituent le programme sera automatiquement appelée au lancement du programme. Dans les applications graphiques Windows par exemple, la fonction qui sera automatiquement appelée au lancement du programme est celle qui s'appelle WinMain. Si on ne cible pas de plateforme particulière, on appelera la fonction principale main. Tout compilateur conforme à la norme en vigueur doit reconnaître cette fonction, main. Cependant, un programme, qui cible alors sûrement une plateforme bien précise, n'est pas obligé de comporter une fonction main (mais il y a toujours une autre fonction équivalente bien sûr, comme la fonction WinMain dans le cas d'une application graphique Windows).

    Pour écrire directement sur le dur, en C standard, c'est tout simplement impossible. Avec les APIs de ton système, il y a peut-être un moyen. Sous Windows par exemple, on pourra utiliser CreateFile, WriteFile et co. Lis la doc de ces fonctions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo