En ce qui concerne C qu'est-ce qu'une routine de bout? Un exemple serait également très apprécié.Qu'est-ce qu'une routine de bout?
Répondre
Un sous-programme peut être l'un des deux éléments (au moins).
En premier lieu, il peut être une routine lieu-support qui vous développez rapidement pour tester une routine de niveau supérieur, avec l'intention de substituer une version réelle plus tard. Ceci est généralement utilisé avec le développement de haut en bas (coder les premier travail, votre plus hauts niveaux en bas à l'étoffe plus détaillée) et peut être aussi simple que:
int getCount (void) { return 7; } // just return fixed value for testing.
ou un peu plus complexe:
// Cycle through values for some variety.
int getCount (void) {
int retvals[] = {2,7,1,8,2,8,1,8,2,8,4,5,9};
static int pos = -1;
pos = (pos + 1) % (sizeof (retvals)/sizeof (*retvals));
return retvals[pos];
}
bien sûr, une fois que le talon devient assez complexe, vous pouvez aussi bien mettre en œuvre juste la vraie chose :-)
en second lieu, il est communément utilisé dans l'appel de procédure distante (RPC) environnem ents. Un bout est utilisé pour rassembler les données à une extrémité et les communiquer à un serveur à l'autre extrémité. RPC doit créer des fonctions de remplacement pour le client et un serveur. Il est très similaire à un prototype de fonction en C, mais le résultat final est légèrement différent, comme:
+----------------+
| Client |
| +----------+ | +---------------+
| | main | | | Server |
| |----------| | | +----------+ |
| | stub_cli |------->| stub_svr | |
| +----------+ | | |----------| |
+----------------+ | | function | |
| +----------+ |
+---------------+
Dans cet exemple, au lieu d'appeler function
dans le même programme, main
appelle une fonction stub client (avec le même prototype comme function
) qui est responsable de l'emballage de l'information et de le passer à travers le fil à un autre processus. Cela peut être la même machine ou une machine différente, cela n'a pas vraiment d'importance - l'un des avantages de RPC est de pouvoir déplacer les serveurs à volonté.
Sur le serveur, un processus d'écoute reçoit ces informations et les transmet au serveur. Le talon du serveur reçoit les informations, les déballe et les transmet à la fonction réelle.
La fonction réelle fait alors ce dont elle a besoin et retourne au talon du serveur qui peut emballer les informations de retour et les renvoyer au talon du client.
Le talon du client décompresse ensuite celui-ci et le renvoie à main
.
C'est une fonction avec la même signature que la fonction réelle mais elle ne fait rien, et peut être compilée et exécutée comme la vraie chose. par exemple. Ils sont souvent utilisés comme des espaces réservés, de sorte que la structure globale du programme peut être élaborée en premier, puis les détails.
En langage C, le code Stub appelle réellement le main(), pas le système d'exploitation ou le compilateur.
Voulez-vous dire le code de démarrage? Je n'ai pas entendu parler du code stub utilisé dans ce contexte. – paxdiablo
- 1. Développement de bout en bout SharePoint
- 2. Lire le fichier de bout en bout
- 3. deux liens attachés bout à bout
- 4. Recommandations de cadre de test de bout en bout
- 5. Comment configurer la journalisation de bout en bout de WCF?
- 6. Authentification déléguée kerberos de bout en bout dans ASP.NET
- 7. Sécurité de bout en bout avec WMQ AMS
- 8. factory_girl has_many: jusqu'au bout
- 9. Téléchargement de fichier WCF à partir de l'application de bureau de bout en bout tutoriel?
- 10. Comment remplacer un appel de bout de ligne déjà déclaré par un appel de bout différent?
- 11. Exemple de bout en bout de l'implémentation de CQRS sur AppEngine
- 12. routine de différence Prolog
- 13. Recette SAS pour un flux de travail de bout en bout?
- 14. Actionscript Freehand Selection Routine
- 15. Simple Debounce Routine
- 16. Routine SQLite drop column
- 17. "Itération Zéro" - test de réception de bout en bout dans la fonction simple de formulaire de contact
- 18. OCMock: Faire un bout faire quelque chose
- 19. Existe-t-il un cadre d'application Web Python pour créer des applications de bout en bout GUI de type bureau?
- 20. longueur de nom de routine dans fortran90
- 21. routine de différence de liste Prolog
- 22. Routine de réception correspondante de MPI_Bcast
- 23. javascript settimeout cleartimeout routine syntax
- 24. appel de routine d'assemblage dans l'objectif C
- 25. thumbs.db bousiller ma routine de téléchargement
- 26. La routine de rappel n'est pas déclenchée
- 27. AS3, fonction active au bout de 3 secondes
- 28. Des applications de dessin au bout des doigts sur Android?
- 29. Routine Numpy pour l'informatique Matrix Minors?
- 30. Bonne routine try/catch à usage général
Super réponse, merci beaucoup :) –