为什么GCC输出二进制文件会非常大? 二进制转十进制简便方法
gcc -g -o -c分别是什么意思
-c和-o都是gcc编译器的可选参数。
-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件。-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。
例如:
gcc -c test.c将生成test.o的目标文件
gcc -o app test.c将生成可执行程序app
gcc -c a.c -o a.o表示把源文件a.c编译成指定文件名a.o的中间目标文件(其实在这里,把-o a.o省掉,效果是一样的,因为中间文件默认与源文件同名,只是后缀变化)。
1、如果GCC不带-C参数,编译一个源代码文件(test.c)。那么会自动将编译和链接一步完成,并生成可执行文件。可执行文件可以有-o参数指定(test.o)
2、如果是多个文件,则需要先编译成中间目标文件(一般是.o文件),在链接成可执行文件,一般习惯目标文件都是以.o后缀,也没有硬性规定可执行文件不能用.o文件。
扩展资料:
gcc:GNU编译器套件e799bee5baa6e79fa5e98193e58685e5aeb931333431373164(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。
基本用法:
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。
参考资料来源:百度百科-gcc (GNU编译器套件)
如何打开gcc 编译后的文件
gcc 编译后的,基本是二进制文件,Linux 下, vi/ emacs / gedit / nedit 等编辑器都可以打开。
premiere cc剪辑的视频导出后非常大怎么办?
premiere cc剪辑的视频导出后非常大,缩小比特率就可以了。解决方法如下:
1、首先创建一个新项目,填写项目名称后点击确定。
2、点击文件里的导入命令。
3、选择需要编辑的照片文件,然后点击打开。
4、选中视频轨道,然后点击上方的效果,在右侧找到视频效果,扭曲下面的变换,进行双击。
5、在左侧的效果控件窗口中可以设置具体的参数来对视频进行裁剪。
6、裁剪好的视频可以通过文件,导出,媒体来完成另存为。
C/C++语言编译生产可执行的二进制文件的过程??求大神详尽解释,
1. 预编译。编译器将你的.c、.cpp源代码,通过解释其中的预编译指令,将源代码转换成相应的没有任何预编译指令的代码。
2. 编译、优化。将上一步的代码编译成汇编指令,并作一定优化,形成对应的.s汇编代码
3. 汇编。将.s文件汇编成机器码,形成对应的.o目标文件,此时是不可执行的二进制文件。生成对应的清单文件。为了连接需要,还会生成未定向符号表、导出符号表、地址重定向表等等。
4. 连接。先根据对应的清单文件、连接文件及之间的调用关系,决定所有的目标文件及引用的库文件在最后可执行文件中的位置;然后做一些其他事情,比如根据符号表等将目标文件中的符号地址补全等等;最终得到可执行文件。
这只是我个人的简单理解,更详尽的解答都可以写成好几本书了=_=望采纳~