编译选项

---------IDE掩盖下的天空

/***************************************
 * gcc for c language
 ***************************************/

Single Source to Executable
$ gcc helloworld.c [-o howdy]
默认生成的名字a.exe
______________________________________
Source File to Object File
$ gcc -c helloworld.c [-o harumph.o]
默认生成的名字与原文件名一致,后缀为.o
-c告知不但保留object文件,而且忽略连接过程
______________________________________
Multiple Source Files to Executable
$ gcc hellomain.c sayhello.c -o hello
______________________________________
Preprocessing
$ gcc -E helloworld.c [-o helloworld.i]
默认不输出文件,若输出则为.i文件
-E把宏展开后的代码情况
____________________________________
Generating Assembly Language
$ gcc -S helloworld.c
-S生成hellowordl.s汇编语言文件
____________________________________
Creating a Static Library
1、生成.o文件
$ gcc -c hellofirst.c hellosecond.c
2、生成.a文件
$ ar -r libhello.a hellofirst.o hellosecond.o
注意静态库的命名规则
3、连接
$ gcc twohellos.c libhello.a -o twohellos
____________________________________
Creating a Shared Library
1、生成.o文件
$ gcc -c -fpic shellofirst.c shellosecond.c
-fpic 使得.o输出模块以地址可定向的方式产生。[pic:position independent code]
2、生成.so
$ gcc -shared shellofirst.o shellosecond.o -o hello.so
3、连接
$ gcc stwohellos.c hello.so -o stwohellos
注意:1、2可以合并为
$ gcc -fpic -shared shellofirst.c shellosecond.c -o hello.so
_____________________________________
Overriding the Naming Convention
$ gcc -xc helloworld.jxj -o helloworld
-xc对于C语言的源代码,默认后缀为.c,但别的后缀文件也可以当作c来用,那就要加-x选项
_______________________________________
Create a header file
$ gcc sayhello.c -aux-info sayhello.h
$ gcc *.c -aux-info prototypes.h
不过这样产生的头文件,包含的函数原型太多,除了用户自定义的函数外,标准库中的函数原型都列出来了

[GCC for C]编译选项---IDE掩盖下的天空相关推荐

  1. GCC编译器简明教程(Linux下C语言开发环境的搭建)

    GCC编译器简明教程(Linux下C语言开发环境的搭建) 市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境(例如GNOME.KDE.Unity等)和各种常用的必 ...

  2. Linux+gcc设置断点,gcc/g++常用编译选项和gdb常用调试命令

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? gcc/g++编译器是我们写编译C/C++程序时离不开的编译工具,而gdb又是调试C/C++程序的利器,这一篇文章我们记 ...

  3. Arduino IDE环境下WeMos D1开发板引脚定义和映射

    Arduino IDE环境下WeMos D1开发板引脚定义和映射

  4. 脑在IDE模式下能正常启动,改成AHCI后蓝屏——解决方法

    本人安装的是32位的WIN7操作系统,SATA串口在IDE模式下能正常运行,,但是在BIOS 中把IDE模式改为AHCI模式时,发现启动不了电脑,出现蓝屏,显示SOPT:0X0000007B....  ...

  5. attiny13a程序实例_世界最小的Arduino——ATTiny13上手全攻略1B在Arduino IDE环境下的搭建...

    本帖最后由 幻生幻灭 于 2017-2-15 10:41 编辑 系列教程传送门 世界最小的Arduino--ATTiny13上手全攻略1A简介 世界最小的Arduino--ATTiny13上手全攻略1 ...

  6. 在Linux下gcc缺省编译,在Linux下用gcc编译hello world

    1. 确保Linux系统里已经装好了gcc 测试:输入gcc后是如下的结果就说明已经安装成功 2. 创建HelloWorld.c 使用 touch 创建一个空文件; 用vim编辑 按下A或者I 插入 ...

  7. Arduino IDE环境下WeMoS D1mini引脚定义和映射

    Arduino IDE环境下WeMoS D1mini引脚定义和映射

  8. 电脑在IDE模式下能正常启动,改成AHCI后蓝屏——解决方法

    本人安装的是32位的WIN7操作系统,SATA串口在IDE模式下能正常运行,,但是在BIOS 中把IDE模式改为AHCI模式时,发现启动不了电脑,出现蓝屏,显示SOPT:0X0000007B....  ...

  9. 合宙ESP32C3基于Arduino IDE框架下配置分区表

    合宙ESP32C3基于Arduino IDE框架下配置分区表 关于VSCode PIO配置分区表可以参考示例文章<合宙ESP32C3基于VSCode PIO开发初探教程> 有关Arduin ...

最新文章

  1. html中连续点击某个标签会出现蓝色的解决方法
  2. 互联网10年,激战如梦
  3. R语言ggplot2可视化:ggplot2可视化两个水平条形图(horizontal)、并设置两个条形图使用共享的X轴、使用类似population pyramid可视化的方式绘制共享X轴的水平条形图
  4. Target runtime Apache Tomcat v7.0 is not defined.
  5. [转载]Flash P2P 文件共享基础教程
  6. xvfb-run: error: xauth command not found 解决方式
  7. CLR查找和加载程序集的方式(二) 流程图
  8. LeetCode Reverse Vowels of a String
  9. apache php并发数,apache查看当前并发数多少
  10. Flex +WebService
  11. 全国计算机二级报名入口新疆,新疆2019年3月全国计算机等级(NCRE)考试(第54次)报名入口...
  12. 【嵌入式模块】LCD1602LCD12864
  13. MQTT再学习 -- 搭建MQTT服务器及测试
  14. 电子产品销售数据分析及RFM用户价值分析
  15. 前端框架 ng 环境配置
  16. [usaco6.1.1Postal Vans]
  17. 【像素与浏览器视口的细节】及移动web设置“width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no“原因
  18. 用python程序编写问卷调查_如何使用Python实现调查问卷的自动填写
  19. C语言制作通讯录(新手练习推荐)
  20. Android获取软键盘输入内容

热门文章

  1. 第五节: EF高级属性(一) 之 本地缓存、立即加载、延迟加载(不含导航属性)
  2. NAS、CIFS、NFS之间的关系
  3. 软件测试计划时要记住什么
  4. Entity Framework 简介
  5. python文本进度条94页_Python学习笔记 | 实例4:文本进度条
  6. imp命令导入指定表_Oracle—— 导入/导出 数据:exp,imp 命令
  7. 【Python 标准库学习】容器数据类型库 — collections
  8. PWN-COMPETITION-HGAME2022-Week4
  9. java character是什么意思_Java Character 类
  10. 【HDU - 5875】Function(线段树,区间第一个小于某个数的数 或 RMQ二分)