Librairires en C

Signaler
Messages postés
6
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
30 octobre 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour,
Je voudrais savoir s'il existe une liste des principales librairires C standard ainsi que les (principales) fonctions qui en sont issues.

D'avance merci.
 
BOB1973

12 réponses

Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
La principale lib en C sous windows c'est msvcrt qui contient toutes les fonctions standarts: memcpy, memset.. strcpy, strcmp.. printf, scanf.....
Liste complete: http://msdn2.microsoft.com/en-us/library/634ca0c2(VS.71).aspx

Neo_Fr
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
NON !!!
msvcrt est une dll, un prog correctement écrit et linké n'a pas à avoir de dépendance directe sur cette dll.
memcpy, memset, strcpy et autres boucles de ce genre sont insérées INLINE (code asm direct par compilo) et sont donc à considérer comme des macros.
strcmp, printf, ... sont ajoutées en tant que fonctions direct dans l'exe.

ciao...
BruNews, MVP VC++
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
J'ai deja vu des programmes ayant comme seule dependances msvcrt
Un exemple ici:
http://www.bzip.org/1.0.4/bzip2-104-x86-win32.exe
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Ne jamais prendre exemple sur du 'portable', c'est la réduction au plus petit commun dénominateur, autrement dit de la daube pour tous au lieu de correct pour chaque système.

ciao...
BruNews, MVP VC++
Messages postés
6
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
30 octobre 2007

En fait ma question était de savoir si on peut trouver un document permettant de savoir quelles sont les principales fonctions des principales librairies (stdio, stdlib, math, conio, string ....).

J'en profite pour vous exposer un probleme que je rencontre:
Je débute avec CodeBlock et pour l'instant je réalise des petits programmes en mode console. Malheureusement, je n'arrive pas à executer la commande clrscr (le compilateur ne semble pas la connaître) alors que j'ai bien inclus la librairie conio.h où elle est sensée être décrite.
J'ai édité les librairies les pus courantes mais je n'ai pas tourvé cette fonction clrscr dans aucune.

Pourtant, je l'utilisais avant en turbo C.

Donc savez-vous dans quelle librairie elle se trouve ou quel moyen je peux utiliser pour effacer l'écran ?

En tout cas merci pour les messages.

BOB1973
Messages postés
6
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
30 octobre 2007

Au fait, j'utilise GNU GCC Compiler (par défaut dans codeblocks).
Voila la réponse du compilateur:

Project : Console application
Compiler : GNU GCC Compiler (called directly)
Directory : E:\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
Linking console executable: E:\console.exe
.objs\main.o:main.c:(.text+0x18d): undefined reference to `clrscr'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Salut,

conio est obsolète (Au moins aux yeux de certains) et ne fais pas partie des librairie standard du C.
Ce site pas mal avec les librairies standard (A gauche, la liste des headers C sous  C Library)

conio n'a pas de remplaçant (Pas d'officiel quoi).

Pour effacer la console sous Windows.

Une blague pourave au passage :

Quel est le comble d'un programmeur M$ ?

...

Se réveiller deprecated.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
salut all
brunews> la STL est normalement portable non ? sous visual; il y a quelques temps; il refusait de me laisser l'utiliser :( une raison particuliere ?
la STL, ca doit quand meme etre utilisable...
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
La STL est aussi standard en C++ que la librairie C est standard en C.

MS VC2005 est bien entendu fournie avec la STL.

Il y a sûrement plein de raison pour que VC te refusent de l'utiliser (Un bête conflit avec une autre lib, ou encore un fichier compilé comme code C faisant appel à la STL...), mais le message d'erreur que tu as eu nous en dirait certainement un peu plus long.

Pour BruNews, du peu que je le connais, je suis pas sûre qu'il ait beaucoup utilisé la STL. Ou alors on l'a obligé !

 
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
C'est certain, je l'ai virée de mes cauchemars.

ciao...
BruNews, MVP VC++
Messages postés
6
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
30 octobre 2007

Merci à rt15 qui a résolu mon probleme.



Il suffisait de faire:



#include <stdlib.h>

void main()
{



    ...
    system("cls");
    ...
}

Ceci dit, il me semblait que clrscr était une fonction standard...

Merci pour vos nombreuses réponses.



BOB1973
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

c'est pas faux :) j'ai plus ce message en tete, et j'ai plus visual sous la main (ni meme ce projet donc bon...)

bon, c'est pas grave, on verra plus tard

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy