#1 Le 09/11/2015, à 21: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 10/11/2015, à 23:38)
Hors ligne
#2 Le 09/11/2015, à 22: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, à 22: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, à 22: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
#5 Le 09/11/2015, à 22: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 ...
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, à 22:43)
Hors ligne
#6 Le 10/11/2015, à 10:24
- claudius01
Re : [RESOLU]Ou trouver le prototype complet d'une fonction
Bonjour,
... 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
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, à 10:36)
Hors ligne
#7 Le 10/11/2015, à 23: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