linux编程基础:GCC程序编译选项

news/2024/7/10 4:04:12 标签: gcc, linux, 编程, 优化, output, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

1࿰c; " - o " # class="tags" href="/tags/OUTPUT.html" title=output>output_filename 不加 -o 默认 class="tags" href="/tags/GCC.html" title=gcc>gcc filename 生成 a.out eg: class="tags" href="/tags/GCC.html" title=gcc>gcc hello.c hello 生成: a.out class="tags" href="/tags/GCC.html" title=gcc>gcc -o hello.c hello 生成: hello

 

2 " - c " 只编译 不连接成为可执行文件 eg: class="tags" href="/tags/GCC.html" title=gcc>gcc -c hello.c 生成: hello.o

 

3. “ -g ” 加入调试信息 会增加函数包容量

 

4. “ -O” “-O2” optimise class="tags" href="/tags/YouHua.html" title=优化>优化程序࿰c;缩短执行时间 执行时间查看: time ./filename eg:class="tags" href="/tags/YouHua.html" title=优化>优化optimize.c class="tags" href="/tags/GCC.html" title=gcc>gcc optimize.c -o optimize time ./optimize class="tags" href="/tags/GCC.html" title=gcc>gcc -O optimize.c -o optimize time ./optimize 发现时间变短了

 

 

 5.“ -I ” 增加标准头文件查找目录 eg: class="tags" href="/tags/GCC.html" title=gcc>gcc -I/home hello.c -o hello 增加 home 目录

 

 

6. “ - l ” 增加自定义库 如增加: libldap库 名字去掉前缀lib eg: class="tags" href="/tags/GCC.html" title=gcc>gcc -llap hello.c -o hello

 

 

7.-static 静态链接库 和动态连接区别: 静态连接 把头文件复制到程序中 增加程序容量࿰c; 动态链接 可供多个程序共享 eg: class="tags" href="/tags/GCC.html" title=gcc>gcc -static hello.c -o hello 生成文件大小明显增加

 

 

8. -Wll -wll -Wll 产生warning -wll 不产生warning

 

 

9. -D 宏定义 eg: 定义 ABC class="tags" href="/tags/GCC.html" title=gcc>gcc -DABC hello.c -o hello 同在程序中加入 #define ABC

cle>

http://www.niftyadmin.cn/n/1117543.html

相关文章

程序员初入公司:10大经验让你能力提升20倍!

IT企业普遍有个特点,“把女人当男人用,把男人当**(此处略去2个字)用。” 有句俗话说,“男怕入错行”,我想这句话其实也同样适用IT女生。 我们可以做个小测试工,就是问自己一百遍“喜欢当程序员吗”,如果你的…

[开源]jquery.ellipsis根据宽度(不是字数)进行内容截断,支持多行内容

jquery.ellipsis 自动计算内容宽度(不是字数)截断,并加上省略号,内容不受中英文或符号限制。 如果根据字数来计算的话,因为不同字符的宽度并不相同,比如l和W,特别是中英文,最终内容宽…

app自学之路

我现在才是大一,但是我对手机应用特别感兴趣,起初,我以为app非常的简单易学,我就在网上找到了一个叫简网工厂的网址,它可以帮你快速生成一款app,并且可以实现很多功能,可以听音乐,看…

linux 学习- 编程基础之makefile

Makefile 文件描述整个工程的编译,连接 格式: 目标 : 依赖 命令 eg: main.o:main.c gcc -c main.c 所谓目标就是最终想要得到的目标 依赖相当于原材料 命令就是得到材料的方法 -f 指令 系统默认makefile文件名为 Makefile 或者makefile 要…

CentOS7常用配置

1 安装firefox 执行yum install firefox,然后在Xfce中设置为默认浏览器。启动并浏览百度网站,看中文显示是否正常,看输入法是否正常。 2 配置代理上网 系统全局代理:/etc/profile中添加 http_proxy"http://[username:passwor…

博客的Hello World

2019-2-20 我的博客正式开通啦,以后我会陆续在我的博客中,添加我的学习经历与知识,希望博客能伴随我的成长,和我一起变得强大!转载于:https://www.cnblogs.com/apex-wzw/p/10409092.html

oracle技术之系统触发器的应用顺序(三)

在写一个AFTER SUSPEND触发器的时候碰到了一个很有趣的现象。寻找导致问题的原因。上一篇文章介绍了,如果当前用户下的触发器出现了编译错误,则会导致其他触发器也无法触发,即使当前触发器被删除。是什么原因导致了这种情况的产生&#xff0c…

黑马程序员_面向对象与类的分析

一、面向对象的概述: java是一种面向对象的编程语言,也就是说对象是这种语言的基础,没有对象了,就没有了java。任何功能都是通过对象来实现的,就是将功能封装进对 象,让对象去调用这些功能。这种思想是将数…