.out est une extension inhabituelle. Normalement, cela signifie un fichier de "sortie de trace".
Vérifiez votre syntaxe que vous utilisez pour compiler
par exemple
gcc myfile.c /usr/lib/libsomelibrary.a -o outputfilename
ou peut-être
g++ myfile.cpp -lm -o outputfilename
Vous pouvez examiner si le bit exécutable est activé sur le fichier
ls -l a.out
ou vous pouvez simplement forcer le bit exécutable
chmod +x a.out
alors vous pouvez exécuter votre fichier
./a.out
ou simplement
a.out
Vous devriez peut-être aussi vérifier que le fichier de sortie a été écrit correctement en tant que fichier binaire.
c'est-à-dire
file a.out
Ceci rapportera le format du fichier - soit un script ou un binaire.
Vous avez rarement besoin d'exécuter en tant que root, à moins que vous n'ayez restreint les personnes autorisées à exécuter l'exécutable.
Si vous avez compilé en tant que root (par exemple sudo make), ou si vous avez un Makefile qui a installé l'exécutable en tant que root, je vous suggère de récupérer la permission en tant qu'utilisateur connecté.
c'est-à-dire
sudo chown fred:fred a.out
c.-à-d. remplacez "fred" par votre identifiant d'utilisateur.