1.如何配置GCC?
刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等好多必须的软件和头文件。
sudo apt-get install build-essential 安装完成后写一个C语言程序testc.c测试一下。 #includeint main(){printf("Hello Ubuntu!\n");return 0;}$ gcc testc.c -o testc$ ./testc 显示 Hello Ubuntu! C语言编译器安装成功;。
2.Linux下GCC编程有哪些过程呢?
一、GCC快速入门 Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件] 其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件。
out 我们来看一下经典入门程序"Hello World!" # vi hello。 c #include #include void main(void) { printf("hello world!\r\n"); } 用gcc编译成执行程序。
#gcc hello。c 该命令将hello。
c直接生成最终二进制可执行程序a。 out 这条命令隐含执行了 (1)预处理、(2)汇编、(3)编译并 (4)链接形成最终的二进制可执行程序。
这里未指定输出文件,默认输出为a。out。
如何要指定最终二进制可执行程序名,那么用-o选项来指定名称。比如需要生成执行程序hello。
exe 那么 #gcc hello。c -o hello。
exe 二、GCC的命令剖析--四步走 从上面我们知道GCC编译源代码生成最终可执行的二进制程序,GCC后台隐含执行了四个阶段步骤。 GCC编译C源码有四个步骤: 预处理-----> 编译 ----> 汇编 ----> 链接 现在我们就用GCC的命令选项来逐个剖析GCC过程。
1)预处理(Pre-processing) 在该阶段,编译器将C源代码中的包含的头文件如stdio。h编译进来,用户可以使用gcc的选项”-E”进行查看。
用法:#gcc -E hello。c -o hello。
i 作用:将hello。 c预处理输出hello。
i文件。 [root]# gcc -E hello。
c -o hello。i [root]# ls hello。
c hello。i [root]# vi hello。
i # 1 "hello。c" # 1 "" # 1 "" # 1 "hello。
c" # 1 "/usr/include/stdlib。h" 1 3 # 25 "/usr/include/stdlib。
h" 3 # 1 "/usr/include/features。h" 1 3 # 291 "/usr/include/features。
h" 3 # 1 "/usr/include/sys/cdefs。h" 1 3 # 292 "/usr/include/features。
h" 2 3 # 314 "/usr/include/features。h" 3 # 1 "/usr/include/gnu/stubs。
h" 1 3 # 315 "/usr/include/features。h" 2 3 # 26 "/usr/include/stdlib。
h" 2 3 # 3 "hello。c" 2 void main(void) { printf("hello world!\r\n"); } 2)编译阶段(Compiling)。
3.Linux系统中使用GCCCPU参数优化代码编译是什么
使用特定的GCC参数可以使编译出的程序执行效率有较大提升。
具体如下: 1、优化原理: 在编译程序时,借助参数传递的方法,使用与系统CPU相匹配的gcc参数,编译出的程序就是为系统CPU而进行特定优化过的,因而执行速度和效率都会是最好。 2、注意事项 (1) 经过大量测试发现,在RedHat, CentOS系统中通常只能通过参数传递的方法进行编译优化,当然,如果愿意并且能够修改程序的MakeFile也可以达到这一效果,只不过比较复杂,工作量较大。
其他在网上广为流传的方法(例如:直接通过。bashrc, /etc/profile声明参数系统变量、写入/etc/make。
conf等)经过测试均没有效果。 (2) 对于Gentoo Linux或FreeBSD可以通过修改/etc/make。
conf添加参数的方法来实现,而不必使用参数传递法。 3、优化步骤: (1)确定系统CPU类型: # cat /proc/cpuinfo | grep "model name" 执行后会看到系统中CPU的具体型号,记下CPU型号。
(2)使用参数传递方法进行编译:(以Pentium4 CPU为例) 此处以编译Apache为例说明如何使用参数传递: # tar xzvf httpd-2。 0。
55。tar。
gz # cd httpd-2。0。
55 CHOST="i686-pc-linux-gnu" \ CFLAGS="-O3 \ -msse2 \ -mmmx \ -mfpmath=sse \ -mcpu=pentium4 \ -march=pentium4 \ -pipe \ -fomit-frame-pointer" \ CXXFLAGS="-O3 \ -msse2 \ -mmmx \ -mfpmath=sse \ -funroll-loops \ -mcpu=pentium4 \ -march=pentium4 \ -pipe \ -fomit-frame-pointer" \ 。 /configure …… # make # make install。
4.gcc编译器在windows10下载为什么和其它软件下载不一样
gcc属于命令行处理程序,你可以在gcc.exe所在的文件夹按住Shift并右击鼠标,选择“在此处打开Powershell”(不同的系统可能不太一样,意思是打开命令行窗口),输入“gcc.exe”加上参数(具体见拓展),即可使用,直接鼠标双击打开只会出现一个一闪而过的窗口。
你可以使用IDE来编译你的源文件,用IDE自带的编辑器来编辑源文件,更加方便。
推荐好用的C/C++ IDE:Dev-Cpp、Code::Blocks、GUIDE
拓展:gcc用法
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是编译器所需要的参数,filenames给出相关的文件名称。
-c,只编译,不链接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。
-O2,比-O更好的优化编译、链接,当然整个编译、链接过程会更慢。
如:gcc helloworld.c -o helloworld.exe
5.关于windows上使用gcc的问题
如果你确实环境变量配置好了。
那你可以在cmd里先输入gcc --version
看是否有类似下面信息显示
gcc (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果有类似上述信息显示,则表明你已经正确配置好了MingGW。
假设Hello World程序的源文件名为hello.c(假设在D盘根目录下),期望编译名称为try.exe的可执行文件。
则在cmd里输入gcc d:\hello.c -o try,然后按下回车键。
当编译完成后,执行try.exe,就会输出Hello,World!
更详细的用法可以用gcc --help查看。
转载请注明出处windows之家 » gcc在win10中如何