c - 如何在 linux 中编译二进制文件,它可以在没有前面的情况下运行。/

标签 c linux gcc

当我使用 gcc 编译程序时,它应该使用前缀 ./运行,例如 gcc -Wall -o hello-world hello-world.c 将生成二进制 hello-world,我必须将其作为 ./hello-world 运行,但我想通过键入 hellow-world 将其作为任何其他系统 bimary 运行如何编译它?

最佳答案

作为对@BraveNewCurrency 和@songziming 将可执行文件放置在搜索路径中的答案的注释。

可以在不添加./的情况下执行可执行文件。为此,您必须将当前目录添加到搜索路径中。像这样:
export PATH='./:'$PATH

然而,这通常是不受欢迎的,因为它可能会产生一些意想不到的副作用。有些人甚至将其视为安全隐患。
参见例如 https://superuser.com/questions/156582/why-is-not-in-the-path-by-default

关于c - 如何在 linux 中编译二进制文件,它可以在没有前面的情况下运行。/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532698/

相关文章:

c - size_t 是便携的吗?

linux - 尝试启动 Linux Bash 脚本时找不到命令

c++ - ubuntu 17.04 和 -mx32 编译标志 multilib

c++ - 模板特化适用于 gcc,但不适用于 visual studio 10

c - libusb_get_device_descriptor() 始终返回 0。如何检测故障?

c++ - Wifi 原始数据传输

c - 通过输入获取值并在运行时显示它们

linux - 如何让shell在每个用户输入命令之前执行命令

linux - 物理上连续的大内存区域

c++ - 为什么在我的 Mac 上编译的 C++ 库不能在服务器上运行?