大家好,今天小编关注到一个比较有意思的话题,就是关于c语言执行文件的问题,于是小编就整理了3个相关介绍c语言执行文件的解答,让我们一起看看吧。
我现在有一个C语言的可执行文件,如何能查看其源文件?
只有一种可能,向开发者索取。C编写的程序,经过汇编,编译和链接,生成的是二进制文件,windows下是exe等类型的文件,linux一般是bin文件,此时的程序文件已经不包含任何源文件信息了,包含几个部分:.text .data和文件头的信息等,可以找个二进制文件工具看看。当然,可以通过反汇编工具得到汇编代码,不过一个小小的程序,反汇编后也是巨大的,能让你看到哭。所以尽量选择使用开源的软件,出了点问题可以翻翻代码,说不定可以修改解决。
c语言源程序文件,目标文件,和可执行文件的扩展名是什么?
根据平台不同,扩展名也有所不同:
1、源程序。 在各个平台上,C语言的源程序扩展名都是相同的,即c。 比如test.c等。 C++的源程序则是cpp。
2、目标文件。 目标文件是源程序经过编译生成的文件,平台不同,编译工具不同生成的目标文件扩展名也不同。 在windows上比较常见的为obj, 在Linux下比较常见的为o。另外还有一些比较少见的扩展名,如oo, tco等。
3、可执行文件。 可执行文件是目标文件经过链接后,产生的用于运行的文件。 在windows下可执行文件扩展名为exe。 在Linux下可执行文件没有固定的扩展名,在编译时默认为out,但实际上可以是任意扩展名甚至没有扩展名,只要有执行权限即可。
c语言中的源程序必须经过编译连接生成可执行程序才能运行,这句话是对不对?
建议看看计算机一些原理,像你说的这个问题我会想到,计算机最终只能识别二进制码,
所以其实不管我们一切啥语言,最终都是通过编译器编译成二进制码,计算机才能识别
而去运行,而c语言编写的程序,肯定是要经过一系列的编译,链接,生成可执行的文件。
在windows系统中,执行文件都是.exe为扩展名的。不过在linux系统中就不一样了,linux
系统并不区分扩展名,所以也就无所谓什么.exe之类的文件,只要知道最终生成可执行的
二进制文件就可以了。
到此,以上就是小编对于c语言执行文件的问题就介绍到这了,希望介绍关于c语言执行文件的3点解答对大家有用。