comment peut-on appeler une fonction dans un programme C++ où la fonction est déclarée dans autre C++ programme? comment peut-on faire cela? puis-je utiliser extern?fonction d'appel dans le programme C++ où la fonction est déclarée dans un autre programme C++
Répondre
Je suggère que la meilleure façon est de refactoriser le premier programme C++ de telle sorte que la fonction requise fasse partie d'une bibliothèque . Ensuite, vos deux programmes peuvent se lier à cette bibliothèque et la fonction est disponible pour les deux (et pour tous les autres programmes le nécessitant).
Jetez un oeil à this tutorial. Il couvre comment créer puis utiliser une bibliothèque en utilisant gcc
. D'autres tutoriels similaires existent pour d'autres variantes C++.
#include
le fichier source avec la déclaration de l'autre fonction.
Si vous voulez dire programmes en tant que «processus», cela dépend de l'OS que vous exécutez vos programmes. Dans la plupart des cas, vous ne pouvez pas facilement (voire pas du tout), car les processus devraient partager la mémoire. Dans les versions de débogage de certains os cela pourrait être possible. En quelques mots: si vous voulez dire que vous voulez appeler une fonction dans le code d'un programme en cours d'exécution depuis un autre programme, c'est très difficile et cela dépend très du système.
Déclaré ou défini? La chose importante à garder à l'esprit est qu'avant d'utiliser une fonction, le compilateur doit connaître le prototype de la fonction, donc utilisez #include
pour vous assurer que le compilateur a accès au prototype. Il n'a pas nécessairement besoin du code réel pour la fonction, cela devient important au moment de la liaison.
Donc, si vous avez:
MyFunc.hpp:
int add(int a, int b);
MyFunc.cpp:
int add(int a, int b)
{
return a + b;
}
Ensuite, vous pouvez l'utiliser dans un autre fichier:
Main.cpp
#include <iostream>
#include <MyFunc.hpp> // This is the important bit. You don't need the .cpp
int main(int argc, char* argv[])
{
std::cout << add(20, 30) << std::endl;
}
- 1. Importer la fonction C++ dans le programme Python
- 2. Formulaire C# dans un programme C++
- 3. Appel d'une fonction qui est déclarée dans la fonction actuelle
- 4. C programme qui imprime un autre programme C en japonais
- 5. C++ dll dans le programme C
- 6. Fonction C run dans un autre thread
- 7. Exécution d'un programme dans un autre programme?
- 8. Comment démarrer un programme C# à partir d'un autre programme C# dans la même carte?
- 9. Compiler programme avec fonction nsjnitparse() C Linux
- 10. Rediriger stdin dans le programme C vers un autre processus
- 11. Couper le curseur dans un programme C#
- 12. MissingMethodException dans le programme C#
- 13. Appelez la fonction C (exposée) du programme COBOL
- 14. Appel de la fonction membre déclarée dans une autre DLL
- 15. Confusion dans le programme C
- 16. Appel d'une fonction C++ à partir d'un programme C
- 17. API C# - comment obtenir le handle de la zone de texte où le curseur est dans un autre programme?
- 18. Comment vérifier avec C# où un programme est installé
- 19. comment utiliser Exceptions dans le programme C++?
- 20. Erreur de synchronisation dans le programme C
- 21. Comment vérifier avec un programme dans un autre langage de programmation (C, C++, etc.) si Java est installé et où
- 22. Est-il possible d'héberger le CLR dans un programme C?
- 23. en c et le programme c
- 24. en C, comment utiliser la fonction du fichier programme principal dans un fichier de bibliothèque partagée
- 25. Le programme C++ s'exécute lentement dans VS2008
- 26. Ajouter une fonction à un programme et appeler cette fonction à partir de la ligne de commande dans la fonction
- 27. Un programme qui crée un autre programme
- 28. programme d'interruption dans le débogueur lorsque C++ exception est levée
- 29. Itérer par la fonction principale dans C?
- 30. appel à la fonction Matlab dans un programme Python