Comment faire pour compiler du code source C sans fonction principale?
Comment puis-je compiler mon code source en C les fichiers sans avoir besoin de faire un main
fonction au sein de eux?
J'obtiens une erreur pour la .c
fichiers qui n'ont pas la fonction principale et ne veulent pas avoir à ajouter la fonction principale, pour la compilation.
- Pour MSVC (Visual Studio,
cl
) voir stackoverflow.com/questions/2727187/... .
Vous devez vous connecter pour publier un commentaire.
Sur GCC, le
-c
commutateur est ce que vous voulez.-c
signifie "compiler, n'ont pas un lien", et vous obtenez unname.o
fichier de sortie.-c
est assez standard pour la plupart des compilateurs C.Utiliser le
-c
option de votre compilateur (pour GCC, option probablement identique pour les autres compilateurs c).De GCC de l'homme page:
Le lien phase est l'étape qui cherche
main()
et se plaint si il ne le trouve pas.Supposons que vous ayez bonjour.c:
Compiler comme:
et vous pouvez obtenir un exécutable hors de lui.
Vous pouvez compiler des fichiers individuels sans
main
, mais vous ne pouvez pas lien et bien sûr, ne peut pas exécuter eux, car ils ne sont pas des programmes complets. Notez que valgrind est pas un outil d'analyse statique, mais un temps d'exécution de l'outil, et par conséquent, il est inutile de traduction individuels unités ne sont pas liées à un programme efficace.Si vous voulez tester des fichiers individuels, une pratique courante consiste à inclure quelque chose comme ce qui suit dans chaque fichier:
Et compiler le fichier avec
-DUNIT_TEST
.-D
est l'option de ligne de commande pour prédéfinir les macros du préprocesseur.