在 Linux 上运行 C 程序

bre*_*er2 3 command-line gcc executable command-not-found

我今天观看了一个视频讲座,其中介绍了 C 以及诸如如何制作可在 Linux 中运行的 C 程序之类的内容。我按照给出的步骤操作,现在遇到了一些问题。

我创建了我的 C 文件(HelloWorld.c)并使用命令gcc -o HelloWorld HelloWorld.c编译文件,这两个步骤都成功了。之后,我检查以确保已使用命令创建了 HelloWorld ls,并且确实如此。但是,当我使用HelloWorld应该运行该程序的命令时,我收到一个错误消息HelloWorld: command not found

在视频讲座中,教授确实提到这适用于 32 位系统,而我使用的是 64 位系统。也许这可能是问题所在?

编辑:也在视频讲座中教授提到,当我使用命令时,ls我应该看到HelloWorld*. 我只看到 HelloWorld(没有星星)。

Bru*_*ger 10

您没有将PATH环境变量的值设置为包含 HelloWorld 可执行文件所在的任何目录。

假设您已经使用cd过该目录,则可以使用以下命令运行 HelloWorld:./HelloWorld

Unix shell 有一个名为 的变量PATH,它是一个以 -:分隔的目录列表,当用户发出没有完全限定路径名的命令时要查看的目录列表(/usr/bin/ls完全限定:它开始于/并结束于ls,但ls不是完全限定的通过它自己)。如果您没有.in条目PATH,则必须./在命令的开头显式使用以获取要执行的当前目录中该名称的文件。

  • 值得指出的是'.' 出于安全原因不在 PATH 中,因此添加它是个坏主意。如果有人认为这是他们的操作系统提供商的一些不负责任的疏忽。 (6认同)