6
votes

Main () en C, C ++, Java, C #

est principal () (ou principal ()) en C, C ++, Java ou C #, une fonction définie par l'utilisateur ou une fonction intégrée?


0 commentaires

9 Réponses :


0
votes

en C / C ++, il s'agit d'une norme de sorte qu'elle est intégrée et reconduite.

Java, pas sûr, pas d'expérience

c # - c'est une partie d'une classe de sorte que c'est défini par vous.

Tous sont définis par vous - vous le dites quoi faire.


0 commentaires

3
votes

C'est une fonction définie par l'utilisateur requise (le point d'entrée pour exécutables) ...


0 commentaires

13
votes

C'est une fonction définie par l'utilisateur nécessaire pour un programme à exécuter. Lorsque vous allez exécuter votre programme dans la langue compilée, la fonction principale code> est ce qui est exécuté. Par exemple, en Java, si vous avez une fonction de la signature Public statique Void Main (String ... args) code> dans une classe, cette classe peut être exécutée, car le JVM exécutera le contenu de Cette méthode principale code>.

Exemple en Java: P>

java Test


4 commentaires

Ce n'est pas nécessaire si vous indiquez à la liaison d'utiliser une autre fonction comme point d'entrée.


@Ryan - Certains d'entre nous ( Coux Java la toux ) Ne profitez pas du sweet privilège d'avoir un lien de liaison.


@Ryan - certains d'entre nous ( la toux moi la toux ) n'aime pas vous battre avec un lien de lien si nous n'avons pas à;)


@RYAN - En Java, il n'y a pas de lieur, et votre méthode principale est nécessaire pour avoir la signature Public Static Void Main (String [] args) Et il n'y a aucun moyen que vous puissiez changer cela.



3
votes

Ce n'est pas "intégré" dans n'importe quelle langue, dans un sens où il n'y a pas de norme mise en œuvre - pour vous principal () Avielable.

Pour C / C ++ / Java, il s'agit d'une fonction avec une propriété spéciale, à savoir la fonction qui sera appelée au début de votre programme après la mise en place de la configuration statique. Par exemple. Le chemin d'exécution de l'ensemble du programme complet est le suivant:

  1. faire du code d'initialisation

  2. appel principal ()

  3. sortie.

    En tant que tel, il dispose d'une déclaration standard (nombre de paramètres passés à partir de la ligne de commande + une matrice de "chaînes" - toutefois que la langue implémente qui sont les arguments réels de la ligne de commande)


2 commentaires

Juste FYI - "Main" est à peu près intégré dans VB.NET. Vous devez réellement travailler afin de l'exposer et de mettre votre propre mise en œuvre en place ...


Vb a le principal ()? (Honnête surprise - ma dernière exposition à toute base du tout était de retour dans la journée de la propriété de PC Sinclair Z80 ...



0
votes

C'est une fonction définie par l'utilisateur qui s'appelle par la bibliothèque d'exécution de la langue. Par exemple, une bibliothèque d'exécution C attrapera les arguments de la ligne de commande et parfois des variables d'environnement du système d'exploitation et les transmettre à votre fonction principale ().

Différentes linguistiques exécutent généralement la même opération sous une forme ou une autre et lancera une sorte d'erreur si la fonction qu'elle essaie d'appeler n'existe pas.


0 commentaires

5
votes

Je ne suis pas sûr de ce que vous entendez par l'utilisateur intégré et défini par l'utilisateur. Presque aucune langue ne donne la fonction définie par l'utilisateur le privilège d'être le véritable point d'entrée dans le programme. C ++, toute langue .NET et Java ont tous caché des méthodes de point d'entrée (intégrées) qui appellent à son tour votre méthode principale définie par l'utilisateur (ou quelle que soit la méthode d'entrée pour cette langue, appelée .net, il peut être nommé n'importe quoi, bien que c # et vb.net force cela soit appelé principal).

Alors oui, pratiquement toutes les langues ont un concept d'une méthode qui est automatiquement appelée, et cette méthode est une méthode définie par l'utilisateur et généralement obligatoire. Mais pratiquement toutes les langues disposent également d'une méthode de point d'entrée intégrée qui définit en réalité le cadre et / ou la gestion de la mémoire pour le processus avant d'appeler la fonction "entrée-point" définie par l'utilisateur.


1 commentaires

Bonne réponse. J'ajouterais simplement que le nom «Main» n'est pas vraiment important, car la plupart des lieurs décents vous permettront de spécifier votre point d'entrée manuellement. (E.G. / Entrée pour VS)



0
votes

La déclaration est intégrée. La définition est fournie par l'utilisateur, ou dans certains cas fournie par un cadre d'application qui possède un autre point d'entrée, ou dans le cas de la plupart des cadres d'interface graphique d'événement, aucun point d'entrée défini à l'utilisateur unique.


0 commentaires

4
votes

Devis de la norme C (l'accent est mis sur la mienne):

5.1.2.1 Environnement autoportant

  1. dans un environnement de freestanding (dans L'exécution du programme C peut prendre placer sans aucun avantage d'un système d'exploitation), le nom et Type de la fonction appelée à Le démarrage du programme est Mise en œuvre définie . Quelconque Installations de bibliothèque disponibles pour un Programme autonome, autre que le Un ensemble minimal requis par la clause 4, sont définis par la mise en œuvre.

    principale () , dans un environnement de freestanding, est une fonction définie par l'utilisateur.


0 commentaires

0
votes

dans Java Main (String [] args) est le point d'entrée pour les applications par convention (pour faire des programmeurs C ++ confortables). Pour les applets ou les servlets, l'invocation du code arrive différemment. Notez qu'un pot peut contenir tout ou aucun de ces points d'entrée et que chaque classe peut contenir un pot principal de sorte qu'un pot donné puisse être invoqué de différentes manières comme une application si souhaitée.


0 commentaires