比如说:
gcc aaa.c后,执行a.out可以运行程序,
为什么是a.out 而不是其他的 比如:copy 或者是 add 。。。。。。
Linux 如何设置可执行程序的文件名?? 急急急 在线等
答案:3 悬赏:0
解决时间 2021-03-14 04:22
- 提问者网友:清羽墨安
- 2021-03-13 09:34
最佳答案
- 二级知识专家网友:我叫很个性
- 2021-03-13 10:52
是说脚本吗- -。 脚本一般是.sh 如果是c编译产生的可执行文件还可以是.o
一般没有扩展名也可以- -。
linux下,当你使用./xxx运行一个程序时,首先是SHELL来接管你的输入,然后用fork派生子进程,最后用execv系列将你的那个程序的代码交给内核
1。检查你运行的文件的属性,其属性在它的I节点中描述,如果你的那个文件不是可执行的属性,结果就会拒绝执行,如果有可执行的属性,但可执行的权限高于你目前正在使用的用户的权限,拒绝执行
2。检查是SHELL文件吗?如果是,调用相应的SHELL来解析你的这个脚本文件
3。是ELF文件格式吗??是coff文件格式吗?是a.out文件格式吗?如果是其中任何一种,并且当前的LINUX内核都支持这三种文件格式,那么就由操作系统内核分析你的文件格式,去掉文件头信息,将真正的代码,数据等加载进内存(实际过程并不是这样的,只不过为了描述简单,所以省略了很多细节,更多详细说明,请参见内核中的execv系统调用)...
4.等待系统的进程调度,当内核选中你的那个程序的时候,你的那个程序就得到运行了
一般没有扩展名也可以- -。
linux下,当你使用./xxx运行一个程序时,首先是SHELL来接管你的输入,然后用fork派生子进程,最后用execv系列将你的那个程序的代码交给内核
1。检查你运行的文件的属性,其属性在它的I节点中描述,如果你的那个文件不是可执行的属性,结果就会拒绝执行,如果有可执行的属性,但可执行的权限高于你目前正在使用的用户的权限,拒绝执行
2。检查是SHELL文件吗?如果是,调用相应的SHELL来解析你的这个脚本文件
3。是ELF文件格式吗??是coff文件格式吗?是a.out文件格式吗?如果是其中任何一种,并且当前的LINUX内核都支持这三种文件格式,那么就由操作系统内核分析你的文件格式,去掉文件头信息,将真正的代码,数据等加载进内存(实际过程并不是这样的,只不过为了描述简单,所以省略了很多细节,更多详细说明,请参见内核中的execv系统调用)...
4.等待系统的进程调度,当内核选中你的那个程序的时候,你的那个程序就得到运行了
全部回答
- 1楼网友:樣嘚尐年
- 2021-03-13 13:12
RT,linux执行程序时“. 文件名”与“./文件名”有什么不同?". 文件名---应该是source命令的执行方式,按照man source解释应该是读取文件内容的变化
- 2楼网友:承载所有颓废
- 2021-03-13 11:53
. filename(注意.和filename之间有空格)---应该是source命令的执行方式,按照man source解释应该是读取文件内容的变化并输出到当前shell环境,所以应该具备只读权限就够了,在我们单位所用的系统中,通常都是用source将环境变量配置信息从文件中导入当前shell环境。
至于./filename通常需要产生一个新进程号,来得到执行结果,我想这就是两种命令方式的不同。权当抛砖引玉了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯