Tout d'abord, toute la Team Hackademy vous souhaite une année 2008 pleine de bonnes choses !

Pour débuter cette année, nous sommes heureux de vous annoncer que le Ezine commence à prendre forme (surtout l'équipe qui dirigera celui-ci) et devrait apparaitre sur le Web début Avril. Cela peut paraitre loin mais nous voulons vraiment faire un Ezine de qualité, cela demande donc beaucoup de préparation.

Pour ceux qui aimeraient publier dans le premier numéro il est encore temps d'envoyer vos articles (au pire il seront pour le prochain numéro) directement à redaction@thehackademy.net.

Autre annonce importante, le premier meeting HZV aura lieu le 16 Février 2008 sur Paris (dans les locaux de Sysdream). Celui-ci sera mensuel et aura pour concept de dispenser une formation d'environ 4h sur divers thèmes choisi par la communauté. Le premier thème abordé sera la sécurité VoIP et sera dispensé par CrashFr. Il vous est possible de réserver vos places en formulant votre demande sur meeting@thehackademy.net. Les meeting sont aussi l'occassion pour ceux qui n'auront pas la chance d'assister à la formation de faire des rencontres avec les autres membres de la communauté. Biensur ce meeting est ouvert à tous et gratuit (seul la limite de place disponible peut vous empecher l'accès; alors faites vite !).

Bonne année et n'oubliez pas: HZV will never die !

 FAQ - Rechercher  

Programmation en C sous linux

 
The Hackademy Forum Index du Forum -> Programmation Poster un nouveau sujet   Répondre au sujet
Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
ts-7389



Inscrit le: 19 Nov 2007
Messages: 2

Message Posté le: Lun Nov 19, 2007 10:28 pm  |   Sujet du message: Programmation en C sous linux Répondre en citant
Bonjour à tous.
Voilà je me suis mis à programmer en C sous linux, mais cependant j'ai un problème avec void main().

Il a pas l'air d'aimer, et préfère int main() à la place.

C'est pas normal, comment faire?

Voici mon programme de test qui se nomme "z":
Code:

#include <stdio.h>

void main()

{   
   printf("Génial ce site");
   getchar();
}


Et la compilation me donne:

z.c: In function «main":
z.c:5: attention : return type of «main" is not «int"

Bon par la suite ça marche quand même, mais ça n'est pas normal d'avoir ce signalement, alors qu'avec int je n'ai rien.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Celelibi



Inscrit le: 29 Mar 2006
Messages: 770

Message Posté le: Mar Nov 20, 2007 6:43 am  |   Sujet du message: Répondre en citant
Avec quel compilateur compile-tu ? Avec quels options ?
Il me semble que la norme C-ansi indique que le type de retour de la fonction main devrait être int.
Cet entier correspond au code de retour du programme. Typiquement sous linux, 0 indique que tout s'est bien passé, autre chose indique une erreur.

Pour faire plus propre tu peux utiliser la constante EXIT_SUCCESS définie dans stdlib.h, elle contient le code de retour indiquant que le programme s'est bien terminé indépendamment du système (sous windows ça vaudra 1).

Une bonne pratique est de déclarer ta fonction main comme ça (quand t'utilise pas argc ni argv) : int main (void). Le void dit explicitement qu'il n'y a aucun paramètre.
_________________
Il y a un boulet qui sommeille en chacun de nous. (enfin, surtout vous...)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
ts-7389



Inscrit le: 19 Nov 2007
Messages: 2

Message Posté le: Mar Nov 20, 2007 7:05 pm  |   Sujet du message: Répondre en citant
Je compile avec gcc, en tapant le source dans gedit.

Donc le seul moyen c'est le int main(void) ??
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Hindifarai



Inscrit le: 12 Sep 2005
Messages: 5

Message Posté le: Mar Nov 20, 2007 9:35 pm  |   Sujet du message: Répondre en citant
GCC ne renvoie pas d'erreurs sur void main mais un warning. Il te renvoie en fait un avertissement sur le fait que ton code n'est pas conforme à la norme.

Il peut être nécessaire d'utiliser void main mais généralement le programmeur sait pourquoi il le fait et ça n'est pas ton cas vu le code et ta question.

Si tu veux approfondir la question le lien http://users.aber.ac.uk/auj/voidmain.shtml devrait t'intéresser et te convaincre Wink
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Montrer les messages depuis:   
The Hackademy Forum Index du Forum -> Programmation Poster un nouveau sujet   Répondre au sujet

 
Sauter vers:  

Powered by phpBB
Theme modified by mOg & CrashFr
Traduction par : phpBB-fr.com