Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/11/2015, à 22:12

niemand

[RESOLU]Ou trouver le prototype complet d'une fonction

Bonjour,

Je tente de faire de la programmation d'autre préfère jouer aux cartes, chacun son truc....
J'aimerai savoir s'il existe un site qui détaille les prototypes des fonctions C qui sont dans les fichier.h.

J'ai essayé de faire des recherches dans google, exemple, "prototype fonction sizeof " ou " function sizeof"
et je tombe sur des cours théoriques ou bien des cas d'utilisation.

Cependant je ne connais toujours pas le prototype complet de la fonction en question !!!
C'est a dire quelles sont les arguments de cette fonction, leur ordre, leur type, ce qui est en option ou obligatoire ...

En faite ce que je cherche c'est une sorte de man mais pour les fonctions C, avec le synopsis/prototype
et une description, un truc qui a de la gueule tout simplement.

Quoi ma gueule, qu'es ce qu'elle à ma gueule ...:lol:

Et de maniéré générale es ce qu'il existe un man ou un équivalent pour chaque fonction d'un  langage
de programmation ?

Merci pour votre aide.

Dernière modification par niemand (Le 11/11/2015, à 00:38)

Hors ligne

#2 Le 09/11/2015, à 23:11

mikael8349

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

Regardes le code source directement. Généralement dans /usr/include/ il y a tout les .h des "libs standard C". Par exemple /usr/include/stdio.h.

Si tu ne trouves pas une lib particulière fait un find, par exemple chez moi pour stdio.h ça donne :

$ sudo find / -name "stdio.h"
/usr/lib/avr/include/stdio.h
/usr/lib/syslinux/com32/include/stdio.h
/usr/include/c++/4.8/tr1/stdio.h
/usr/include/stdio.h
/usr/include/x86_64-linux-gnu/bits/stdio.h

Hors ligne

#3 Le 09/11/2015, à 23:14

louis94

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

Bonjour,

Il y a souvent des pages de manuel ! Par exemple,

man math.h

Sinon, j'aime bien http://en.cppreference.com/w/c pour les fonctions standard. Tu peux aussi ouvrir directement le fichier .h (qui est dans /usr/include), mais c'est bien souvent moins lisible.

Enfin, sizeof n'est pas une fonction mais un mot-clef, et tu ne trouvera donc pas son prototype.

Louis

Hors ligne

#4 Le 09/11/2015, à 23:15

Compte anonymisé

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

Peut importe le langage de programmation ces infos peuvent être disponibles dans le "manuel de référence du langage" si il est "standardisé" .

Ou aussi, dans le manuel du compilateur que tu utilise .

Donne et ces infos et je pourrait déjà + t'aider tongue

#5 Le 09/11/2015, à 23:41

niemand

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

J'utilise le compilateur GCC et je parle du langage C.

Dans /usr/includes

il y  a du monde au balcon ..

/usr/include$ ls
aio.h	       EGL	     gnu-versions.h  mtd	      pwd.h	     stdio_ext.h    utmp.h
aliases.h      elf.h	     grp.h	     nautilus-sendto  python2.7      stdio.h	    utmpx.h
alloca.h       endian.h      gshadow.h	     net	      qt4	     stdlib.h	    values.h
argp.h	       envz.h	     iconv.h	     netash	      qt5	     string.h	    video
argz.h	       err.h	     ifaddrs.h	     netatalk	      rdma	     strings.h	    wait.h
ar.h	       errno.h	     inttypes.h      netax25	      re_comp.h      stropts.h	    wayland-client.h
arpa	       error.h	     KHR	     netdb.h	      regex.h	     sudo_plugin.h  wayland-client-protocol.h
asm-generic    execinfo.h    langinfo.h      neteconet	      regexp.h	     syscall.h	    wayland-cursor.h
assert.h       fcntl.h	     lastlog.h	     netinet	      resolv.h	     sysexits.h     wayland-egl.h
autosprintf.h  features.h    libdrm	     netipx	      rpc	     syslog.h	    wayland-server.h
byteswap.h     fenv.h	     libgen.h	     netiucv	      rpcsvc	     tar.h	    wayland-server-protocol.h
c++	       fmtmsg.h      libintl.h	     netpacket	      sched.h	     termio.h	    wayland-util.h
complex.h      fnmatch.h     libio.h	     netrom	      scsi	     termios.h	    wayland-version.h
cpio.h	       fstab.h	     limits.h	     netrose	      search.h	     tgmath.h	    wchar.h
crypt.h        fts.h	     link.h	     nfs	      semaphore.h    thread_db.h    wctype.h
ctype.h        ftw.h	     linux	     nl_types.h       setjmp.h	     time.h	    wordexp.h
dbus-1.0       _G_config.h   locale.h	     nss.h	      sgtty.h	     ttyent.h	    X11
dialog.h       gconv.h	     malloc.h	     obstack.h	      shadow.h	     uapi	    x86_64-linux-gnu
dirent.h       getopt.h      math.h	     paths.h	      signal.h	     uchar.h	    xcb
dlfcn.h        gettext-po.h  mcheck.h	     poll.h	      sound	     ucontext.h     xen
dlg_colors.h   GL	     memory.h	     printf.h	      spawn.h	     ulimit.h	    xf86drm.h
dlg_config.h   GLES2	     mntent.h	     protocols	      stab.h	     unistd.h	    xf86drmMode.h
dlg_keys.h     GLES3	     monetary.h      pthread.h	      stdc-predef.h  ustat.h	    xlocale.h
drm	       glob.h	     mqueue.h	     pty.h	      stdint.h	     utime.h	    xorg

ensuite:

more stdio.h > ~/bib_stdio.h

editeur de texte vim par exemple,
/sizeof  ( recherche sizeof )

Et la c 'est la drame je ne trouve rien du tout.

Normal sizeof n'est pas une fonction mais un opérateur unitaire merci Louis.

J'ai fait un petit test rapide en cherchant la fonction printf  ...
Je suis pas sortie de l'auberge espagnol ...  roll

Les commandes ci dessous ne donnent rien:

man math.h
Aucune entrée de manuel pour math.h
man stdio.h
Aucune entrée de manuel pour stdio.h

Dernière modification par niemand (Le 09/11/2015, à 23:43)

Hors ligne

#6 Le 10/11/2015, à 11:24

claudius01

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

Bonjour,

niemand a écrit :

... Et de manière générale est-ce qu'il existe un man ou un équivalent pour chaque fonction d'un langage de programmation ?
... J'ai fait un petit test rapide en cherchant la fonction printf  ...

3 solutions:
- Éditer le fichier include accueillant la méthode (solution déjà évoquée par mikael8349; en l’occurrence c'est effectivement le fichier stdio.h)
- Rechercher sur la toile man printf avec un résultat parmi tant d'autres: http://www.linux-france.org/article/man … ntf-3.html
- Faire le man de printf (section Langage C ;-) directement sur le système avec:

$ man 3 printf
niemand a écrit :

Dans /usr/include [et non includes]
il y  a du monde au balcon ..

Et oui, c'est ce qui fait la richesse des librairies dont la très grande libc et qui évite de mal réécrire ce qui a été écrit par la communauté ;-))

Dernière modification par claudius01 (Le 10/11/2015, à 11:36)

Hors ligne

#7 Le 11/11/2015, à 00:38

niemand

Re : [RESOLU]Ou trouver le prototype complet d'une fonction

Merci pour vos conseils.
C'est vraiment pas évident de se dépatouiller la dedans lorsque l'on est un néophyte.

Hors ligne