gcc/g++ 命令

gcc -E sourcefile.c : -E,只执行到预编译,直接输出预编译结果

gcc -S sourcefile.c : -S,只执行到源代码到汇编代码的转换,输出汇编代码

gcc -c sourcefile.c : -c,只执行到编译,输出目标文件

gcc (-E/-S/-c) sourcefile.c -o output-file : -o,指定输出文件名,可以使用以上三种标签中的一种。

-o 参数可以被省略,这种情况下编译器按以下默认名方式输出:
-E 预编译结果将被输出到标准输出端口
-S 生成名为 sourcefile.s 的汇编文件
-c 生成名为 sourcefile.o 的目标文件

无标签的时候,生成名为 a.out 的可执行文件

gcc -g sourcefile.c : -g 生成供调用的可执行文件,可以在 gdb 中运行。由于文件中包含了调试信息,因此运行效率很低,且文件也大了不少。

这里可以用 strip 把文件中的 debug 信息删除。 strip a.out

gcc -s sourcefile.c : -s 直接生成与运用 strip 同样的效果的可执行文件

gcc -O sourcefile.c : -O 编译器对代码进行自动化编译,输出效率更高的可执行文件

<p class="verse">
-O2 可以跟上数字表示优化等级 gcc -O2 sourcefile.c 数字越大越加优化。但是也会有出 bug 的风险<br />
</p>

gcc -Wall sourcefile.c : -W 在编译中开启一些额外的警告信息。-Wall,将所有的警告信息全开。

gcc sourcefile.c -L/path/to/lib -lxxx -l/path/to/include :

- -l 指定所使用到的函数库,本例中是尝试链接名为 libxxx.a 的函数库
- -L 指定函数库所在的文件,本例中链接器会尝试搜索/path/to/lib 文件夹
- -I 指定文件所在的文件夹,本例中预编译器会尝试搜索/path/to/include 文件夹

Author
Tags
总结(3) Emacs(2) org mode(4) 年度清单(2) 读书清单(2) 电影清单(2) 电视清单(2) Python(3) 学习计划(1) 子弹笔记(1) 手帐体系(1) 时间管理(1) 时间使用效率(1) 形意拳(1) 知识管理(1) 简历(1) 技能水平(1) 生活(1) 减法生活(1) 阅读(1) 阅读分组(1) org(1) docx(1) markdown(2) cmder(1) 图床(1) jsdelivr(1) github(1) 安卓系统(1) 手动更新手机系统(1) post link(1) post path(1) hexo(2) hugo(2) GitHub Pages(1) travis(1) 自动部署博客(1) presentation(1) gcc(1) g++(1) 默认表格(1) 复杂表格(1) multimd table(1) google adsense(1) evil(1) surround(1) librime(2) emacs-rime(1) liberime(1) dot(1) graphviz(1) use-sub-superscripts(1) ditaa(1) Evil Multiple cursors(1) turn evil mode off(1) modifier keys(1) keymap(1) super(1) hyper(1) install Emacs(1) Mac OS(1) keybinds(1) clocktable(1) coding system(1) image library(1) keybind(1) spacemacs(1) org babel(1) homebrew(1) dd(1) diskutil(1) tmux(1) xcode(1) xcrun(1) node-gyp(1) tar(1) tree(1) pacman(1) plantuml(1) find(1) grep(2) du(1) apt-get(1) apt(1) regex(1) wildcard(1) zsh(1) gdb(1) lsof(1) netstat(1) rebase(2) workflow(1) 工作流(1) .gitignore(1) postbuffer(1) hung up(1) merge(1) cache(1) reset(1) Git(1) command(1) submodule(1) GitHub Pull Request(1) pr(1) Matplotlib(1) beautifusoup(1) 下载小说(1) SOLID(1) Leetcode(2) 透视表(1) read_excel()(1) pandas(1) conda(1) django(1) markdown-deux(1) mysql(1) oracle(1) 模糊查询(1) logging level(1) reflex(1) Field(1) Maven(1) Selenium(1) 下拉框(1) select into(1) insert into select(1) CAST(1) CONVERT(1) timestamp(1) concat(1) concat_ws(1) group_concat(1) union(1) grant privileges(1) 重置 root 密码(1) 报错 10060(1) 清理连接数(1) create user(1) set password(1) exists(1) in(1) markdown-it(1) emoji(1) tasks(1) valine(1) Code 504(1) Hugo(1) theme(1) substring(1) indexOf(1) RegExp(1) 定位节点(1) 正则匹配(1) async(1) 异步请求(1) css(2) layui(1) 滚动条(1) JavaScript(1)