Accueil > Forum > > > > Programmation système sous LINUX
Programmation système sous LINUX
jeudi 25 mai 2006 à 19:45:49 |
Programmation système sous LINUX

deck_bsd
|
Bonjour a tous,
Voila j'ai installé une mandriva 2006, je programme en C et compile
avec gcc norme C99. Je suis bien avancé en programmation C win32, mais
la sous linux je me pert. comment fonctionne la prog system. Il y a
t-il des "API" comme sous windows? Je m'explique, prenon un bête
exemple. Sous windows je veu faire un programme qui liste les fichiers
d'un dossier et les affiche ainsi que la taille de chacun. J'ai
FindFirsFile et FindNextFile qui me permette de le faire, mais sous
linux? il y a-t-il des fonction contenue dans des lib du système?
J'espère que vous voyez ce que je veu dire. Si oui pourriez-vous me
donner des tuto ou de la doc la dessus? car mes fouilles ne donne rien.
Merci d'avance.
|
|
jeudi 25 mai 2006 à 20:56:02 |
Re : Programmation système sous LINUX

vecchio56
|
Sous Unix on appelle ca des appels systèmes. Ce sont a peut près les mêmes que ceux que tu peux utiliser dans un shell.
Du coup, pour la recherche je pense que tu as l'appel systeme find, mais je n'en suis pas sur
|
|
jeudi 25 mai 2006 à 21:18:06 |
Re : Programmation système sous LINUX

vecchio56
|
Après quelques recherches, j'ai trouvé les fonctions stat et fstat (qui sont déclarées dans le fichier sys/stat.h)
Je trouve que c'est quand même moins agréable à utiliser que les API de Windows
|
|
vendredi 26 mai 2006 à 09:46:57 |
Re : Programmation système sous LINUX

AlexN
|
Bonjour,
Comme tout noyau, linux possède son API. Windows c'est environ 1200 primitives (ou appel système). Linux environ 800. Cependant c'est quasiment pareil, car linux possède des swiss knife avec les primitives de type ioctl (Des fonctions fourre tout)
Les fonctions de manipulation des répertoires sont déclarées dans dirent.h. Le reste des fonctions de manipulations de fichiers dans stdlib.h.
Un conseil. Avant d'attaquer l'API, commences par quelques tutoriaux sur les concepts UNIX et le shell. Leur compréhension facilite l'utilisation du système et sa programmation.
Si tu ne trouves pas de bon tutos c'est que tu dois mal chercher. C'est par bennes entières qu'il y en a sur le net.
Aucun en particulier à te conseiller. Sinon un bouquin "La programmation sous UNIX" de JM Rifflet. Simple et relativement complet pour débuter.
|
|
vendredi 26 mai 2006 à 14:12:36 |
Re : Programmation système sous LINUX

deck_bsd
|
Merci a tous.
AlexN, par bennes entières? on dit tous le temps google est ton amis , mais la ... il ne l'ai pas vraiment, je trouve rien.
|
|
vendredi 26 mai 2006 à 14:31:40 |
Re : Programmation système sous LINUX

AlexN
|
Euh ... là je sais pas quoi te dire ... Franchement avant de passer par ici, je fais toujours un crochet par un quelconque moteur ... j'ai très souvent des réponses à foison... Peut être ne poses tu pas les bonnes questions, j'en sais rien... t'as essayer des trucs comme : tutoriel linux cours linux aide linux restreint ta recherche à france. au hasard essayes [ Lien ] [ Lien ] [ Lien ]Tiens v'la même un cours de fac [ Lien ]Franchement c'est de la mauvaise fois je dirais. A toi de jouer...
|
|
vendredi 26 mai 2006 à 19:16:44 |
Re : Programmation système sous LINUX
|
vendredi 26 mai 2006 à 19:20:36 |
Re : Programmation système sous LINUX

deck_bsd
|
bon mon choix sait porté sur http://www.editions-eyrolles.com/Livre/9782212116014/programmation-systeme-en-c-sous-linux
|
|
mardi 30 mai 2006 à 14:15:11 |
Re : Programmation système sous LINUX

Bel0
|
Pour tout ce qui est prototype de fonction, il y a les manpages
(bizarre que personne ne les aient encore citées !!). Sous
debian/ubuntu, le nom du package est manpages-dev (à toi de trouver
l'équivalent sous mandriva). Ces manpages donnent donc tout le détail à
propos d'une fonction (ou groupe de fonction proche) , tous les codes
d'erreurs possibles et parfois même des exemples. Par exemple, pour
accéder à l'aide de la fonction socket, man 2 socket. Le chiffre après
man correspond à une classification des manpages. Tout les appels
systèmes sont classés dans les manpages 2 (il y en a moins que 800
comme dit plus haut, faut pas confondre appel système et appel à la
libc). Dans cette catégorie, on trouve entre autre: open, close,
socket, bind, listen, dup, dup2, ioctl. La section 3 des manpages
concerne tout ce qui touche à la librairie C (librairie des fonctions
standards): fopen, fclose, malloc,
opendir (une fonction qui pourrait t'intéreser :))
A la fin de toutes les manpages, on trouve aussi une liste des manpages
associées dans la section "SEE ALSO". Par exemple, dans le cas de
opendir, on trouve les fonctions suivantes:
open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3),
seekdir(3), telldir(3).
Le numéro (2,3), n'est nécessaire que quand il existe plus manpage (par
exemple, "man stat" et "man 2 stat" n'affichent pas le meme résultat).
Le
seul problème avec ces manpages est qu'il faut connaitre le nom exact
de la fonction pour laquelle on souhaite avoir de l'aide. C'est
évidemment très embetant quand on commence. En fait, il n'y a pas
vraiment d'index (mis à part les liens SEE ALSO). Heureusement, li
existe un petit utilitaire qui recherche un terme dans toutes les
manpages existantes. Il s'appelle "apropos" (désolé, je ne me rappelle
plus le nom du package dans lequel il est fourni). Par exemple, la
commande "apropos dir | grep "(3)"" permet d'afficher toutes les
manpages contenant "dir" dans leur titre (la partie avec grep permet de
filtrer l'output pour que ne soit affichées que les manpages de la
catégorie 3).
seb@seb# apropos dir | grep "(3)"
alphasort (3) - scan a directory for matching entries
bindtextdomain (3) - set directory containing message catalogs
closedir (3) - close a directory
dirfd (3) - get directory stream file descriptor
dirname (3) - Parse pathname components
FcConfigAppFontAddDir (3) - Add fonts from directory to font database
FcConfigGetConfigDirs (3) - Get config directories
FcConfigGetFontDirs (3) - Get font directories
FcDirCacheValid (3) - check directory cache timestamp
FcDirSave (3) - save a directory cache
FcDirScan (3) - scan a font directory
FcStrDirname (3) - directory part of filename
get_current_dir_name (3) - Get current working directory
getcwd (3) - Get current working directory
getdirentries (3) - get directory entries in a filesystem independent format
getwd (3) - Get current working directory
mkdtemp (3) - create a unique temporary directory
opendir (3) - open a directory
pvmfadvise (3) - Controls use of direct task-to-task routing.
pvmfprecv (3) - Receive a message directly into a buffer.
readdir (3) - read a directory
rewinddir (3) - reset directory stream
scandir (3) - scan a directory for matching entries
seekdir (3) - set
the position of the next readdir() call in the directory stream.
telldir (3) - return current location in directory stream
versionsort (3) - scan a directory for matching entries
Dans le résultat, tout n'est pas forcément intéressant mais on voit quand même quelque fonction qui pourrait t'intéresser :)
Belo
|
|
Cette discussion est classée dans : programme, windows, programmation, système, linux
Répondre à ce message
Sujets en rapport avec ce message
portage Linux vers visual C++ [ par acsx ]
Salut,J'ai un programme écrit en C sous Linux et je souhaite le faire tourner sous Visual C++ 6.0 sous Windows.J'ai donc créé un projet win32 et intég
Exception [ par GrosTony ]
Salut,Mon problème commence lors d'un avec un programme que j'ai du récupérer et valider, mais le problème est qu'il avait été testé avec seulement 3
Windows XP + programmation console [ par mondrone ]
Salut. Je voudrais savoir si Windows XP n'est pas légèrement incompatible avec les programmes en mode console, car depuis le temps que je programme (p
passer un programme GTK de linux à windows [ par Dr_zoidberg ]
Bonjour,J'ai choisi de créer une interface en GTK afin de pouvoir porter mon programme de linux à windows.Seulement pour l'instant, je n'ai pas encore
A l'aide...création d'un programme compatible windows et linux [ par nicko666 ]
Bonjour à tous,voila j'ai un gros problème, je suis débutant et je suis obligé de créer un programme C++ qui doit pouvoir tourner sur windows aussi bi
pb avec windows.h sous linux [ par mattpss ]
Salut,Je suis actuellement en 2eme année de bts informatique. J'aimerais Executer un programme sous eclipse mais dans mon programme j'utilise la bibli
Compiler un programme C++/ Linux sous windows [ par magicientarik ]
Bonjour Qulequ'un peut m'aider svp, je suis vraiment dans la merde, mon programme est developpé en C++ sous linux et je veux le recompiler sous wind
Exe linux en exe windows (programme c++) [ par tiouil ]
Bonjour à tous, Je me tourne de nouveau vers vouscar ayant developpé pas mal de jeux en c++ sur linux, j'aimerais les exporter vers en exe windows. A
[BAR]A propos de Linux Ubuntu [ par saramaria ]
Bonjour tous le monde, j'utilise windows 7 comme Os et je voudrais installer Linux Ubuntu sur ma machine tout en conservant mon windows 7 de tel sorte
internet explorer tourne en boucle à l'ouverture système windows 7 [ par nitiendo ]
bonjour l'internet explorer que j'avais sous windows 7 ne fonctionnait plus j'ai essayer de télécharger internet explorer 8 mais le système n'est pas
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|