1.linux系统中gcc的命令怎么用
Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。
-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。
如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。
-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。
2.gcc的使用命令是什么
在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。
Gcc编译器的调用参数大约有100多个,其中多数参数我们可能根本就用不到,这里只介绍其中最基本、最常用的参数。 Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。
-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。
如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。
-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶ A)#include
对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而B类,预处理程序在目标文件的文件夹内搜索相应文件。GCC执行过程示例 示例代码 a.c: #include
可以看到预编译后,代码从5行扩展到了910行。 gcc -E a.c -o a.i cat a.c | wc -l 5 cat a.i | wc -l 910 编译过程: 这个阶段,生成汇编代码。
gcc -S a.i -o a.s cat a.s | wc -l 59 汇编过程: 这个阶段,生成目标代码。 此过程生成ELF格式的目标代码。
as a.s -o a.o file a.o a.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), not stripped 链接过程: 链接过程。生成可执行代码。
链接分为两种,一种是静态链接,另外一种是动态链接。使用静态链接的好处是,依赖的动态链接库较少,对动态链接库的版本不会很敏感,具有较好的兼容性;缺点是生成的程序比较大。
使用动态链接的好处是,生成的程序比较小,占用较少的内存。 gcc a.o -o a 程序运行: ./a helloGCC编译简单例子 编写如下代码: #include
3.如何使用gcc编译器
双击GCC安装包,mingw-get-setup.exe,点击Install安装
点击Change选择安装路径,尽量不要有中文和空格,
将package 下面的mingw-***和mingw32-***和msys-**。都勾选上,等待下载安装,直到勾选框全部变成土灰色。
找到安装目录的bin目录,将路径右键复制下来。
找到计算机,右键,属性。点击 高级系统设置
找到下面的 环境变量 点击
在系统变量里面找到 Path变量,双击出现下面输入框,在变量值的末尾添加刚刚复制的bin目录,并在最后加上英文状态下 的分号(;)。点击确定。
测试是否安装成功,在cmd命令提示符里面输入 gcc --help 回车键,
出现以下信息,表示安装成功
EditPlus 3 安装完成之后的界面点击File 下的 new C/C++
出现以下测试代码,保存到指定目录,最后不要有空格和中文,我保存到E:/My/Test下面测试。文件名为test.c
命令提示符窗口进入到 E:/MyTest 下 用dir 命令显示当前目录下的所有文件。
使用gcc 命令编译 命令格式 如下 gcc test.c - o test 回车键
编译完成
直接输入test运行,输出hello,world.
测试完成
4.gcc怎样使用命令
[root@Comisys02 ~]# gcc --help
用法:gcc [选项] 文件。
选项:
-pass-exit-codes 在某一阶段退出时返回最高的错误码
--help 显示此帮助说明
--target-help 显示目标机器特定的命令行选项
(使用'-v --help'显示子进程的命令行参数)
-dumpspecs 显示所有内建 spec 字符串
-dumpversion 显示编译器的版本号
-dumpmachine 显示编译器的目标处理器
-print-search-dirs 显示编译器的搜索路径
-print-libgcc-file-name 显示编译器伴随库的名称
-print-file-name= 显示 的完整路径
-print-prog-name= 显示编译器组件 的完整路径
-print-multi-directory 显示不同版本 libgcc 的根目录
-print-multi-lib 显示命令行选项和多个版本库搜索路径间的映射
-print-multi-os-directory 显示操作系统库的相对路径
-Wa, 将逗号分隔的 传递给汇编器
-Wp, 将逗号分隔的 传递给预处理器
-Wl, 将逗号分隔的 传递给链接器
-Xassembler 将 传递给汇编器
-Xpreprocessor 将 传递给预处理器
-Xlinker 将 传递给链接器
-combine 将多个源文件一次性传递给汇编器
-save-temps 不删除中间文件
-pipe 使用管道代替临时文件
-time 为每个子进程计时
-specs= 用 的内容覆盖内建的 specs 文件
-std= 指定输入源文件遵循的标准
--sysroot= 将 作为头文件和库文件的根目录
-B 将 添加到编译器的搜索路径中
-b 为 gcc 指定目标机器(如果有安装)
-V 运行指定版本的 gcc(如果有安装)
-v 显示编译器调用的程序
-### 与 -v 类似,但选项被引号括住,并且不执行命令
-E 仅作预处理,不进行编译、汇编和链接
-S 编译到汇编语言,不进行汇编和链接
-c 编译、汇编到目标代码,不进行链接
-o 输出到
-x 指定其后输入文件的语言
允许的语言包括:c c++ assembler none
'none'意味着恢复默认行为,即根据文件的扩展名猜测
源文件的语言
以 -g、-f、-m、-O、-W 或 --param 开头的选项将由 gcc 自动传递给其调用的
不同子进程。若要向这些进程传递其他选项,必须使用 -W 选项。
5.急需gcc使用方法
一看就是VC之类的IDE用多了的……
一个程序从代码到执行总共是这么几步:
编辑——预处理——编译——汇编——链接——执行
一个完整的集成开发环境(IDE)会把整个链条整合起来,
让开发人员可以在一个程序中,自动化的全部完成
但这并不是必须的
上面这个步骤可以笼统的分为三大版块:
编辑——(预处理、编译、汇编、链接)——执行
执行就不说了,双击运行都可以~
关键是前面,如果你使用的是一个纯粹的编译器(非IDE,比如GCC),那么他往往不含有第一个版块:编辑界面
也就是说代码编写需要你另找其他程序去完成
只要能编辑文本的程序都可以:NotePad、UE、NotePad++……还有*nix下比较热门的VI和Emacs(也有Window版)都可以,完全看你的习惯。
编辑好代码之后,再在命令行中调用gcc将源代码输出为可执行文件。
举个最简单的例子,忽略中间那些预处理什么的步骤,直接一步到位的生成可执行文件
比如你的源代码为"C:test.c",你想生成一个名为test.exe的可执行文件在D:根目录下:
gcc C:test.c -o D:test.exe
当然,也可以用相对路径,就不多说了
如果想在编译的时候加入调试信息方便调试,则加入一个参数即可:
gcc -g C:test.c -o D:test.exe
如果要编译的是C++文件,则把gcc换成g++即可,其他一切不变
如果调试,则使用gdb命令,如:
gdb D:test.exe
如此便进入调试界面——当然,也是命令行形式的。具体的调试命令你自己上网找教程吧,不是一两句话可以说清楚的。
如果确实是用惯了VC之类的IDE,可以使用Eclipse或NetBeans
都是开源软件,去官网下载即可。安装好之后配置C/C++的编译环境即可,具体步骤网上一搜一大把,不再赘述
==============================================
看了一下你发的图,才发现你用的是CygWin
这东西应该属於Win平台下的一种Unix虚拟环境,并不算gcc
Win下用gcc的话,还是装个MinGW吧
6.怎么使用GCC练习编程
Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。
-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。
如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。
-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。
7.急需gcc使用方法
一看就是VC之类的IDE用多了的……
一个程序从代码到执行总共是这么几步:
编辑——预处理——编译——汇编——链接——执行
一个完整的集成开发环境(IDE)会把整个链条整合起来,
让开发人员可以在一个程序中,自动化的全部完成
但这并不是必须的
上面这个步骤可以笼统的分为三大版块:
编辑——(预处理、编译、汇编、链接)——执行
执行就不说了,双击运行都可以~
关键是前面,如果你使用的是一个纯粹的编译器(非IDE,比如GCC),那么他往往不含有第一个版块:编辑界面
也就是说代码编写需要你另找其他程序去完成
只要能编辑文本的程序都可以:NotePad、UE、NotePad++……还有*nix下比较热门的VI和Emacs(也有Window版)都可以,完全看你的习惯。
编辑好代码之后,再在命令行中调用gcc将源代码输出为可执行文件。
举个最简单的例子,忽略中间那些预处理什么的步骤,直接一步到位的生成可执行文件
比如你的源代码为"C:test.c",你想生成一个名为test.exe的可执行文件在D:根目录下:
gcc C:test.c -o D:test.exe
当然,也可以用相对路径,就不多说了
如果想在编译的时候加入调试信息方便调试,则加入一个参数即可:
gcc -g C:test.c -o D:test.exe
如果要编译的是C++文件,则把gcc换成g++即可,其他一切不变
如果调试,则使用gdb命令,如:
gdb D:test.exe
如此便进入调试界面——当然,也是命令行形式的。具体的调试命令你自己上网找教程吧,不是一两句话可以说清楚的。
如果确实是用惯了VC之类的IDE,可以使用Eclipse或NetBeans
都是开源软件,去官网下载即可。安装好之后配置C/C++的编译环境即可,具体步骤网上一搜一大把,不再赘述
==============================================
看了一下你发的图,才发现你用的是CygWin
这东西应该属於Win平台下的一种Unix虚拟环境,并不算gcc
Win下用gcc的话,还是装个MinGW吧
-
日照好玩的地方和吃海鲜应该去哪听说日
日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…
-
什么是铸造
铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…
-
变形金刚中博派和狂派各有哪些人物
博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…
-
一平方毫米的铜线能过多少安的电流
1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…
-
中华人民共和国城乡规划法第四十条有规
自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…