./a.out和.test的区别
时间: 2024-02-29 13:53:53 浏览: 32
"./a.out"和".test"都是可执行文件的名称,但是它们之间的区别在于文件名。默认情况下,编译器(如gcc)会将源代码编译成名为"a.out"的可执行文件。而对于".test"这样的文件名,则可能是由程序员自行指定的,或者是由构建系统(如makefile)自动生成的。
因此,从功能上来说,"./a.out"和".test"都是可执行文件,它们可以在终端上运行。但是从文件名来看,它们是不同的。
相关问题
readelf -Ws ./a.out,举例,并且解释
这是一个技术问题,属于二进制可执行文件的解析。readelf是一个命令行工具,可以读取ELF(Executable and Linkable Format)文件的头部信息、节表和符号表等内容,并以可读的形式打印出来。-Ws选项表示显示符号表。./a.out是要解析的二进制文件。举例来说,假设我们有一个名为test.c的C语言源文件,我们可以通过以下命令编译它:gcc -c test.c -o test.o,然后再将test.o嵌入一个可执行文件中:gcc test.o -o test。最后,我们可以使用readelf -Ws ./test命令打印出test可执行文件的符号表。该命令将会输出该可执行文件中的所有符号以及它们的地址、大小、类型等信息。
编写bash程序,当输入1时执行:mkdir 202130222038 cd 202130222038 mkdir -p test1/test2/test3/test4 ./a.out yum install tree tree 当输入2时执行mkdir /home/yxp cd /home/yxp groupadd caigoubu groupadd shengchan groupadd xiaoshou groupadd caiwu 当输入3时执行./travel.out make -f Makefile make -f Makefile backup
好的,以下是您所需的Bash程序代码:
```
#!/bin/bash
read -p "请输入要执行的操作:1、2或3:" opt
case $opt in
1)
mkdir 202130222038
cd 202130222038
mkdir -p test1/test2/test3/test4
./a.out
yum install tree
tree
;;
2)
mkdir /home/yxp
cd /home/yxp
groupadd caigoubu
groupadd shengchan
groupadd xiaoshou
groupadd caiwu
;;
3)
./travel.out
make -f Makefile
make -f Makefile backup
;;
*)
echo "输入错误!请输入1、2或3。"
;;
esac
```
当输入1时,程序将在当前目录下创建一个名为“202130222038”的文件夹,并在其中创建一个名为“test1/test2/test3/test4”的文件夹层级。然后它将执行名为“a.out”的可执行文件,安装“tree”工具并显示目录树。
当输入2时,程序将在“/home/yxp”目录下创建一个文件夹,并在其中创建名为“caigoubu/shengchan/xiaoshou/caiwu”的四个群组。
当输入3时,程序将执行名为“travel.out”的可执行文件,并在执行“Makefile”文件和“Makefile backup”命令时备份文件。
请注意,此程序仅供参考,并且可能需要根据您的实际需求进行修改。