gcc环境中./a的含义是什么?编译运行命令相关疑问解答
关于
./a的详细解释 没问题,我来给你掰扯清楚这个./a到底是什么:
它是GCC默认生成的可执行文件
当你用gcc hello.c编译C代码时,要是没通过-o参数指定生成的可执行文件名,GCC就会自动生成一个名为a.out的可执行文件(在类Unix系统里,.out后缀不是硬性要求,很多场景下大家也会直接称它为a)。./的具体作用
这里的./是用来明确指定当前工作目录的路径。类Unix系统默认不会把当前目录加入环境变量PATH,所以直接输入a的话,系统会去PATH配置的目录里找这个程序,大概率会找不到。而./a就是明确告诉系统:“去当前目录下找名为a的可执行文件,然后运行它”。如何自定义可执行文件名
要是你不想用默认的a.out,编译时可以加-o参数指定文件名,比如:gcc hello.c -o hello这样编译完成后就会生成
hello这个可执行文件,运行时直接用./hello就行。为什么默认叫
a.out?
这是Unix系统早期遗留的传统,a原本代表“assembler output(汇编输出)”,不过现在这个后缀已经没有实际意义了,只是GCC保留了这个默认行为而已。
内容的提问来源于stack exchange,提问作者Jeon JI No
相关产品推荐
相关产品推荐

