C++编译连接总结(一)--g++
来源:互联网 发布:如何建立大数据平台 编辑:程序博客网 时间:2024/06/01 10:21
快速入门例子
g++ –c a.cpp 编译文件,生成目标文件 a.o
g++ a.o –o abc 连接 并重命名为可执行文件 abc
(g++ -c a.cpp -o a 之后 g++ a 会保存的,亲验)
g++ a.cpp 编译连接一起,生成a.out
g++ a.cpp –o hello 生成a.out并命名为hello
涉及静态动态库的后面说
编译或汇编源文件,但不作连接.
编译器输出对应于源文件的目标文件.
缺省情况下, G++通过用.o替换源文件名后缀产生目标文件名. 可以使用-o选项选择其他名字
样例:
g++ -c a.cpp 输出文件 a.o
g++ -c a.cpp -o a 输出文件 a
1. 可执行文件为a.out
2. source.suffix的目标文件是source.o
3. 汇编文件是 source.s
4. 而预处理后的C源代码送往标准输出.
样例:
g++ -c a.cpp -o a 输出文件 a
定义宏,类似于#define的功能
样例: g++ a.cpp -Db=10 #define b 10
在库文件的搜索路径列表中添加dir 目录.,可添加多个
2. 连接器在标准搜索目录中寻找这个库文件,库文件的真正名字是lib librarytest(动态库) lib librarytest(静态库)
3. 是按严格文件名搜索 ,如果so文件名带版本号,需要创建软连接
4. 编译时搜索目录包括 :
1. 用户以`-L'选项指定的路径
2.LIBRARY_PATH ( 是环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径)
3. 系统目录 /lib /usr/lib
5. 运行时搜索目录包括 :
1.LD_LIBRARY_PATH(用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径)
2.ld.so.cache &/etc/ld.so.conf
3.系统目录 /lib /usr/lib
生成一个共享库文件
g++ -shared -o libtest.sobdb.o
编译器生成位置无关目标码,适用于动态连接(dynamic linking)
- C++编译连接总结(一)--g++
- g++编译连接c库
- gcc/g++编译优化选项(一)
- g++编译连接命令简介
- Vim 一键编译、连接、运行 C/C++ 单文件(Windows 与 Linux通用)
- Vim 一键编译、连接、运行 C/C++ 单文件(Windows 与 Linux通用)
- C++编译连接总结(三)--cmake
- 使用G++编译运行c++(by命令行)
- 关于g++(gcc)编译c/c++的学习笔记
- g++编译连接多个文件
- c程序设计总结(一)
- C语言总结(一)
- C/C++总结(一)
- C总结复习(一)
- C语言总结(一)
- c语言总结(一)
- 【编译原理】概述总结(一)
- Caffe编译与安装总结(一)
- 携车网及其竞品分析
- Java之字节流与字符流的区别
- 创建和销毁对象
- 获取radio选中的值
- hdu 2768 Cat vs. Dog【最大独立集】
- C++编译连接总结(一)--g++
- 即使jarsigner 后,有些机型还是会安装不上,报错INSTALL_PARSE_FAILED_NO_CERTIFICATES
- uva610 Street Directions(无向图桥的应用)
- View.computeScroll 回调 (绘制时)
- XListVie的下拉刷新上滑加载
- C# 捕获关机事件方法
- Intent 和 Intentfilter
- Openstack liberty及mitaka中云主机快照实现对比分析
- Spark RDD使用详解3--Value型Transformation算子