.out est une extension inhabituelle. Habituellement, cela signifierait normalement un fichier "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 pour voir si le bit exécutable est défini 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 aussi peut-être vérifier que le fichier de sortie a été écrit correctement en tant que binaire
c'est à dire
file a.out
Cela indiquera le format du fichier - un script ou un binaire
Vous devez rarement exécuter en tant que root, sauf si vous avez restreint les personnes qui devraient pouvoir exécuter l'exécutable.
Si vous avez compilé en tant que root (par exemple sudo make), ou avez un Makefile qui a installé l'exécutable en tant que root, puis-je vous suggérer de récupérer l'autorisation en tant qu'utilisateur connecté
c'est à dire
sudo chown fred:fred a.out
c'est-à-dire remplacer "fred" par votre identifiant.