minGW 编译.c

来源:互联网 发布:淘宝二手靠谱吗 编辑:程序博客网 时间:2024/06/05 08:47

一直用VS,看现在Eclipse很火,便想弄一下玩玩,用到了MINGW,继而用到了GCC,对GCC相当的不熟悉,从头开始学一些简单的吧。

 

简单的GCC用法~ 

gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。 

一. 常用编译命令选项 
假设源程序文件名为test.c。 

1. 无选项编译链接 
用法:#gcc test.c 
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。编译成功后可以看到生成了一个a.out的文件。在命令行输入./a.out 执行程序。./表示在当前目录,a.out为可执行程序文件名。 

2. 选项 -o 
用法:#gcc test.c -o test 
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。输入./test执行程序。 

3. 选项 -E <大写,注意>
用法:#gcc -E test.c -o test.i

or <gcc -E -o test.i test.c>
作用:将test.c预处理输出test.i文件。 

4. 选项 -S <大写,注意>
用法:#gcc -S test.i 
作用:将预处理输出文件test.i汇编成test.s文件。 

5. 选项 -c 
用法:#gcc -c test.s 
作用:将汇编输出文件test.s编译输出test.o文件。 

6. 无选项链接 
用法:#gcc test.o -o test 
作用:将编译输出文件test.o链接成最终可执行文件test。输入./test执行程序。 

7. 选项-O 
用法:#gcc -O1 test.c -o test 
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。输入./test执行程序。 

二. 多源文件的编译方法 

如果有多个源文件,基本上有两种编译方法: 
[假设有两个源文件为test.c和testfun.c] 

1. 多个文件一起编译 
用法:#gcc testfun.c test.c -o test 
作用:将testfun.c和test.c分别编译后链接成test可执行文件。 
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。 
用法: 
#gcc -c testfun.c //将testfun.c编译成testfun.o 
#gcc -c test.c //将test.c编译成test.o 
#gcc  testfun.o test.o -o test //将testfun.o和test.o链接成test 


以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 飞利浦电脑显示器黑屏怎么办打开 微信忘记密码手机号停用怎么办 淘宝账号登录密码忘记了怎么办 淘宝支付密码输错了怎么办 淘宝支付密码忘记了怎么办 淘宝货品上架后显示过期怎么办 被淘宝客监控了怎么办 助学贷款支付宝账号忘记怎么办 离婚支付宝的钱怎么办 扫码加载不出来怎么办 淘宝店铺被投诉售假怎么办 刚开的新店没人怎么办 淘宝访客量突然下降怎么办 支付宝账号封了怎么办 苹果x手机黑屏打不开怎么办 淘宝支付密码被锁定怎么办 淘宝支付密码锁定了怎么办 很抱歉手机淘宝停止运行怎么办 苹果手机桌面淘宝图标不见了怎么办 提示网页上有错误怎么办 淘宝定制家具违约两个月怎么办 同行在买家评价下面评论怎么办 淘宝知识产权侵权被投诉了怎么办 闲鱼买家说是假货退货怎么办 日验证失败次数上限怎么办 淘宝卖家发货不全怎么办 子账号登录不上怎么办 淘宝宝贝曝光量少怎么办 淘宝买东西退款卖家拒绝怎么办 华为手机淘宝不能收藏宝贝怎么办 包裹发出不想要了怎么办 淘宝改登录密码忘记了怎么办 三星s8应用闪退怎么办 淘宝购物商家不发货怎么办 淘宝商家迟迟不发货怎么办 买家地址写错了怎么办 买家写错快递地址怎么办 淘宝退款选择服务类型出不来怎么办 网购东西发错了怎么办 拒签商家不退款怎么办 红米手机无响应怎么办