linux下c开发了一个应用程序,它的扩展名是什么?

这种类型的文件的结构,以及linux系统如何解析这个结构并且执行里面的代码,求详解。
谢谢大神

这个貌似涉及到linux文件系统。linux文件系统与windows的不相同,windows系统应该是通过文件后缀来进行文件类型是别的,而linux虽然也会借鉴后缀信息,但好像不完全依赖于文件后缀。
比如,在windows下,讲一个txt的文件后缀改为.doc那么系统会提示更改后缀可能导致文件不可用,并且默认以office将其打开,而不是记事本。而在linux上你更改一个文件后缀,不会有系统提示,比如你将一个txt的文件(其实所谓的txt文件在linux下,默认是没有后缀的)后缀改为.pdf,系统任然是用打开txt文件的程序将其打开而不是PDFreader什么的。
说到底,linux文件系统不依赖后缀名来识别文件类型,而是靠一种什么幻数(magic number)。具体是怎样做到的,我也不知道,查查吧;查到记得告诉我,呵呵。。。
linux下c开发一个应用程序,默认后缀是.out。比如你用gcc编译一段C代码:
gcc 文件名.c
gcc将默认产生一个a.out的可执行文件。而一般情况下,我们都会更改产生文件的名称,至于后缀,般没有后缀,或者按个人喜好吧。
如果是跨平台的代码的话,那就看目标系统是怎么样的了。像楼下说的ELF文件,这个貌似是16位可执行二进制文件。在linux上进行交叉编译时见过,就是在linux系统里编译一段别的机器(比如路由,PDA,等能装嵌入式linux系统的东西)上可以执行的代码。追问

linux是如何解析这种文件,执行里面的代码的你知道吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-10
linux下c开发一个应用程序,可以使用任何扩展名,比如.c。不过一般默认后缀是.out。比如你用gcc编译一段C代码:

gcc 文件名.c,gcc将默认产生一个a.out的可执行文件。可以参考下书籍《Linux就该这么学》了解更多详细的Linux知识。
第2个回答  2012-10-08
linux没有扩展名的概念,所有的.xxx只是为了方便你去辨识是哪类文件而已。
第3个回答  2012-10-08
您好,c开发的应用程序,原文件您可以使用任何扩展名,比如.c

然后通过编译软件,比如说,gcc编译生成可执行文件,百度一下gcc您就知道。

假如我的回答对您有所帮助,望采纳!追问

linux是如何解析这种文件,执行里面的代码的你知道吗?

本回答被网友采纳
第4个回答  2020-02-20
如siminglangke所言一般是.out,不过根据我的经验:
pig@pig-laptop:~$ gcc test.c -o test
pig@pig-laptop:~$ ./test
Hello pig@ubuntu
pig@pig-laptop:~$
没有后缀,生成的程序还可以运行。你可以查阅下书籍《Linux就该这么学》,里面有详细的Linux知识。
相似回答