exemple :
c++ -Wall filefork.cpp -lrt -O2
Pour gcc
version 4.6.1, -lrt
doit être après filefork.cpp sinon vous obtenez une erreur de lien.
Certains anciens gcc
version ne se soucie pas de la position.
Ajouter -lrt
à la fin de la ligne de commande g++. Cela renvoie à la bibliothèque partagée librt.so "Real Time".
Depuis la version 2.17 de la glibc, la bibliothèque liant -lrt
n'est plus nécessaire.
Le clock_*
font désormais partie de la bibliothèque C principale. Vous pouvez voir l'historique des modifications de la glibc 2.17 où cette modification a été effectuée explique la raison de cette modification :
+* The `clock_*' suite of functions (declared in <time.h>) is now available
+ directly in the main C library. Previously it was necessary to link with
+ -lrt to use these functions. This change has the effect that a
+ single-threaded program that uses a function such as `clock_gettime' (and
+ is not linked with -lrt) will no longer implicitly load the pthreads
+ library at runtime and so will not suffer the overheads associated with
+ multi-thread support in other code such as the C++ runtime library.
Si vous décidez de mettre à jour la glibc, vous pouvez vérifier le suivi de compatibilité de la glibc si vous vous demandez s'il y aurait des problèmes lors de l'utilisation de la nouvelle glibc.
Pour vérifier la version de glibc installée sur le système, exécutez la commande :
ldd --version
(Bien sûr, si vous utilisez l'ancienne glibc (<2.17), vous aurez toujours besoin de -lrt
.)