begin process at 2012 05 30 13:00:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Autre

 > 

programmation en c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

programmation en c

jeudi 29 novembre 2007 à 09:02:07 | programmation en c

nadou21021988

salut tout le monde,je m'appelle Nadia et je suis étudiante en 3éme année informatique.
Mon probleme c'est la programmation,j'ai fait tout mon possible pour apprendre mais rien y faire.bref,on m'a donné un tp à faire il s'agit de créer un programme en c ou en c++  et aprés son exécution il doit donnée un tableau qui nous donne des informations sur la memoire virtuelle(il doit faire le meme travail que la commande ps -v sous unix.svp aidez moi
 merci d'avance

Nadou

jeudi 29 novembre 2007 à 12:39:02 | Re : programmation en c

DeAtHCrAsH

Salut Nadia,
Pour obtenir des informations sur la mémoire virtuelle, il faut utiliser l'API GlobalMemoryStatus(...).
Voici un lien avec quelques explications sur le fonctionnement de cette fonction :

[ Lien ]

Tu trouveras dans ce deuxième lien, un exemple d'utilisation de cette fonction en VB :

[ Lien ]

Bon courage et n'hésites pas si tu bloques.

Shell
jeudi 29 novembre 2007 à 22:50:05 | Re : programmation en c

nadou21021988

slt et merci beaucoup pour votre aide,mais je pense que vous m'avez pas bien compris,je cherche un programme ecrit en C QUI FAIT EXACTEMENT LE MEME TRAVAIL QUE LA COMMANDE  PS -V SOUS UNIX.
RQ: LA COMMANDE PS -V SOUS UNIX DONNE DES INFORMATIONS SUR LA MEMOIRE VIRTUELLE.
JE PARLE TOUJOUR SUR UNIX PAS WINDOWS.
MERCI.....................BONNE NUIT

nadou
vendredi 30 novembre 2007 à 21:22:00 | Re : programmation en c

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Bon, alors pour Windows XP, il faut... Nan je déconne !

Chez Linux, ils sont fans des fichiers. Donc les infos sur l'états des processus sont stockées dans des fichiers.
Je sais pas s'il y a mieux genre des commandes qui aide, mais j'ai pas trouvé (A part sysinfo, mais ça ne donne que des infos sur globales, pas par fichier).

Toutes les infos sont dans /proc. Ce répertoire contient un répertoire par processus (Les noms des répertoires sont les PID des processus), plus quelques autres trucs. Parmis ces autres trucs, il y a le fichier meminfo qui contient des info sur la mémoire, mais là aussi au niveau du système.

La mémoire consommées des processus est dans /proc/[pid]/stat. Ce fichier contient des données "aisément" accessibles via un fscanf. Plus précisément, c'est vsize et rss qui risquent de t'intéresser. Tout le contenu des fichiers de /proc est détaillé ici.

J'ai essayé, voilà ce que ça à donné (Je précise que je suis Windowsien de naissance) :

#include "stdio.h"

int main(int argc, char ** argv)
{
FILE * lpFile;
char lpFileName[256];
int i;
long li, rss;
unsigned long u, vmem;
char state;
char buffer [1024];

if (argc != 2)
{
printf("Cette commande prend un PID en paramètre\n");
return 1;
}

sprintf(lpFileName, "/proc/%s/stat", argv[1]);
lpFile = fopen(lpFileName, "r");
if (! lpFile)
{
printf("Ouverture du fichier %s impossible\n", lpFileName);
return 1;
}

/* pid, comm, state, ppid */
fscanf(lpFile, "%d %1023s %c %d", &i, buffer, &state, &i);
/* pgrp, session, tty_nr, tpgid */
fscanf(lpFile, "%d %d %d %d", &i, &i, &i, &i);
/* flags, minflt, cminflt, majflt, cmajflt */
fscanf(lpFile, "%lu %lu %lu %lu %lu", &u, &u, &u, &u, &u);
/* utime, stime, cutime, cstim */
fscanf(lpFile, "%lu %lu %ld %ld", &u, &u, &li, &li);
/* priority, nice, 0 */
fscanf(lpFile, "%ld %ld %ld", &li, &li, &li);
/* itrealvalue, starttime, vsize, rss, rlim */
fscanf(lpFile, "%ld %lu %lu %ld %lu", &li, &u, &vmem, &rss, &u);

printf("Le processus %s consomme :\n", buffer);
printf("%lu ko de mémoire virtuelle\n", vmem / 1024);
printf("%li pages -> %li ko (Pour des pages de 4 ko)\n", rss, rss * 4);

fclose(lpFile);
return 0;
}


3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
vendredi 30 novembre 2007 à 21:34:09 | Re : programmation en c

rt15

Membre Club Administrateur CodeS-SourceS
Un petit double post pour pleurer devant mon code bien moche.
* Content de faire surtout du Windows *

Pour aussi te préciser qu'un topic intitulé "programmation en c" dans un forum sur le C/C++, y en a eu des milliers, y en aura des milliers... Mais ça serait bien que tu ne nous en fasses plus. Un petit [C/Linux]Mémoire des processus, s'aurait été plus accrocheur tout en clarifiant la problématique.

Finalement, je te propose une petite boutade à transmettre à ceux qui t'on demandé ce taffe (Faire un programme C qui fait comme la commande ps -v) :

#include "stdlib.h"

int main(int argc, char ** argv)
{
  system("ps -v");
  return 0;
}


3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
lundi 3 décembre 2007 à 11:49:40 | Re : programmation en c

theneoiceman

Faut reconnaitre, ta boutade est simple et elle marche :) Je valide à 200%

Mess with the best, die like the rest


Cette discussion est classée dans : programmation


Répondre à ce message

Sujets en rapport avec ce message

Programmation COM en C++ [ par Steph ] Salut à tous,Quelqu'un connait-il une documentation ou un site Web sur la programmation d'objets COM en Visual C++ ?J'ai crée un Objet COM en C++ mais CONCOUR PROGRAMMATION C++ [ par progman ] JE lance de nouveau un appel pour lancer un concours de programmation en C/C++ ! Si vous souhaitez participez au concours laissez un message ! programmation odbc [ par adel ] comment resoudre les problèmes d'appel à l'API ODBC ,telque l'appel à SQLNativeSql? Reseau [ par BenjaminRare ] Bonjour,Si qql 1 pourrait m'aider a trouver un bon site pour apprendre la programmation en c++ pour reseaux et internet.......J'ai commencer la progra La programmation en C [ par bip54fl ] Comment faire un programme pour faire "une base de donné" pour la gestion des cd en faisant:1° encoder les cd en utilisant 1 tableau de structure (ave programmation client [ par CyraX ] bonjour tout le monde...Voila je souhaiterais programmer un client pour un server de message instantanés style AIM ou MSN.Cependant, je manque d'infor PROG-zone, la programmation sous tous les langages [ par sebrs1 ] Salut à tous les développeurs, je viens de mettre en ligne mon tout nouveaux site qui servira à tout le monde quelque soit le langage dans lequel vous Un forum de programmation [ par hm1ch ] Un nouveau site de programmation vient d'ouvrir ses portes aux particuliers expérimentés ou non au monde de la programmation. Sur ce site vous y trouv Nouveau site de programmation [ par julp ] Voici un nouveau site de programmation, le site ProgOtoP.Net ouvre ses portes... Ce site permet au débutant tout langage, d'apprendre, d'apronfondir l question sur programmation linux [ par yolhaiji ] YOL.HAI.JIsalut:je voulais savoir comment sur linux peut on etablir une connexion entre un processus pere et ces deux processus fils avec les pipes (


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales