Exécution de programmes C sous Linux

J'ai regardé une video conférence aujourd'hui qui a introduit C et des choses comme comment faire un programme en C qui fonctionnera sous Linux. J'ai suivi les étapes données et maintenant je suis coincé avec un peu de problème.

J'ai créé mon file C (HelloWorld.c) et j'ai utilisé la command gcc -o HelloWorld HelloWorld.c pour comstackr le file, ces deux étapes ont abouti. Ensuite, j'ai vérifié que HelloWorld avait été créé en utilisant la command ls , et ça l'avait été. Cependant, lorsque j'utilise la command HelloWorld , qui est supposé exécuter le programme, j'obtiens une erreur qui dit HelloWorld: command not found .

Dans la conférence video, le professeur a mentionné que cela fonctionnait pour les systèmes 32 bits et que j'utilisais un système 64 bits. Peut-être que cela pourrait être le problème?

EDIT: Aussi dans la conférence video le professeur a mentionné que quand j'utilise la command ls je devrais voir HelloWorld* . Je ne vois que HelloWorld (sans l'écanvas).

Vous n'avez pas la valeur de la variable d'environnement PATH définie pour inclure le directory dans lequel réside le file exécutable HelloWorld.

En supposant que vous avez utilisé cd pour accéder au directory, vous pouvez exécuter HelloWorld avec cette command: ./HelloWorld

Les shells Linux ont un concept appelé PATH, qui est une list de directorys où l'user émet une command sans nom de path complet (/ usr / bin / ls est entièrement qualifié: il commence à '/' et finit à «ls», mais ls n'est pas pleinement qualifié). Si vous n'avez pas d'input de '.' dans PATH, vous devez utiliser explicitement "./" au début d'une command pour exécuter le file de ce nom dans le directory courant.

Utilisez ls -F pour voir une écanvas à la fin du nom de file. Vous pouvez définir la variable d'environnement LS_OPTIONS pour inclure automatiquement cette option et tout autre nombre d'options pour vous. Les commands de ls sont listées dans la page man de ls, pour les voir s'exécuter: man ls

@ brewer2: la configuration des variables d'environnement lors de la connection est spécifique au shell et une bonne question en elle-même.