小布gcc视频学习笔记
来源:互联网 发布:仙界网络直播间笔趣 编辑:程序博客网 时间:2024/05/21 03:16
把一个c文件编译成目标文件
gcc -Wall -c csource.c
编译多个c源文件,生成可执行文件
gcc -Wall s1.c s2.c ...sn.c -o exeutable
链接多个目标文件,生成可执行文件
gcc -Wall obj1.o obj2.o ... objn.o -o exeutable
带库编译,生成可执行文件
gcc -Wall main.c libname.a -o executable (c文件和a文件顺序不能颠倒)
gcc -Wall main.o libname.a -o executable (o文件和a文件顺序不能颠倒)
用指定目录下库编译链接main.c,生成可执行文件
gcc -Wall main.c /usr/lib/libm.a -o calc
gcc -Wall main.c -lm -o calc
用L指定库文件所在目录,用lhello指定名为libhello.a的库文件,生成可执行文件
gcc在编译时,会搜索L 指定的目录
gcc -Wall main.c -L. -lhello -o executable
gcc -Wall main.c -L/home/Wilson -lhello -o executable
用I指定头文件所在目录,并把源文件编译成目标文件
gcc -Wall -Iinclude -c main.c
ar工具的使用:
创建一个静态库
ar cr libName.a file1.o file2.o......filen.o
查看库中包含的目标文件
ar t libName.a
用不同c标准编译源文件,默认用gnu c标准
gcc -Wall -ansi ansi.c -o an 用标准c编译
gcc -W 的选项
-Wall 检测所有警告
-Wcomment 检测注释是否嵌套
-Wformat 检测格式
-Wunused 检测未用到的变量
-Wimplicit 检测未声明的变量
-Wreturn-type 检测函数返回值类型错误
#if 0 #endif 注释带有注释的代码
-D传一个名为TEST值为123的宏
gcc -Wall -DTEST=123 dtest.c -o dt
-E打印预处理结果
gcc -Wall -E dtest.c
-save-temp 保存编译过程中的临时文件
gcc -Wall -c -save-temps dtest.c
查看gcc预定义的宏
cpp -dM /dev/null
-g 把调试信息写入目标文件
gcc -Wall -g null.c
指定coredump文件大小
ulimit -c unlimited
用gdb调试
gdb a.out core.2297
用cpp预处理源文件
cpp hello.c > hello.i
用gcc处理hello.i,生成汇编语言文件hello.s
gcc -Wall -S hello.i
用as 处理hello.s 生成目标文件
as hello.s -o hello.o
调用ld,链接目标文件,生成可执行文件
gcc hello.o
file查看文件属性
file hello
nm查看一个可执行文件中simbol table,其中第二类中的T代表该函数在此文件中定义
nm hello
ldd查看可执行程序需要的动态链接库
ldd a.out
其他编译相关工具 gprof gcov
- 小布gcc视频学习笔记
- GCC入门学习视频
- GCC 学习笔记
- GCC学习笔记
- gcc命令学习笔记
- gcc学习笔记
- gcc学习笔记
- gcc学习笔记
- gcc/g++学习笔记
- gcc学习笔记
- GCC学习笔记
- GCC学习笔记
- GCC用法学习笔记
- gcc,g++ 学习笔记
- GCC学习笔记1
- gcc学习笔记
- Linux - gcc 学习笔记
- gcc学习笔记
- Webpart的生命周期
- DDA画线算法
- 关于LinuxThreads线程库的效率讨论
- 高质量编程
- 笔记 :09-1月
- 小布gcc视频学习笔记
- C#语法造成的小问题(编译原理知识)
- 探讨Vericall Media Channel的配置
- 动态加载外部css或js文件
- Win FX
- 从.NET到Java
- 最近的困扰_记关于内部集成测试的考虑
- Delphi多层开发方案比较
- Solve the problem "Value was invalid" in .Net ICryptoTransform