前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GCC/G++选项 -Wl,-Bstatic和-Wl,-Bdynamic

GCC/G++选项 -Wl,-Bstatic和-Wl,-Bdynamic

作者头像
发布于 2020-03-27 07:25:09
发布于 2020-03-27 07:25:09
4K0
举报
文章被收录于专栏:

默认情况下,GCC/G++链接时优先链接动态库,如果没有动态库,则链接相应的静态库。同时,GCC/G++也提供了链接选项 -Wl,-Bstatic 和 -Wl,-Bdynamic 供用户指定链接动态库或者静态库。

-Wl,-Bstatic指示跟在后面的-lxxx选项链接的都是静态库,-Wl,-Bdynamic指示跟在后面的-lxxx选项链接的都是动态库。

如下,

g++ -L. -o main main.cc -Wl,-Bstatic -ltest -Wl,-Bdynamic

前面的 -Wl,-Bstatic指示链接libtest.a静态库,后面的 -Wl,-Bdynamic指示链接系统动态库。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C/C++生态工具链——gcc/g++编译器使用指南
GCC的全称是GNU Compiler Collection,是GNU工具链中的一种。GCC不仅支持C/C++语言,还支持Fortran/Ada/Java等语言的编译。
Coder-ZZ
2023/02/23
2.8K0
C/C++生态工具链——gcc/g++编译器使用指南
初识Linux · 有关gcc/g++
继上文介绍了vim 和 yum,相当于介绍了 文本编译器,我们可以利用vim写代码,那么写代码的我们了解了,现在应该了解编译器了吧?这不,gcc 和 g++就出来了,我们就简单介绍一下gcc 和 g++的一些区别,咱们的侧重点是在程序的翻译上面。
_lazy
2024/10/16
1760
初识Linux · 有关gcc/g++
Linux 中的静态库和动态库简介及生成过程示例
Linux中的静态库和动态库简介及生成过程示例 【文章摘要】 在实际的软件开发项目中,不是每一行代码都需要我们亲自写。在我们的软件产品中,有一些代码(尤其是函数)的出现频率很高,它们可以被当作公共代码来反复使用。为了避免重复劳动,我们就把这些公共代码编译为库文件,供需要的程序调用。在Linux中,库分为静态库和动态库两种。 本文对静态库和动态库进行了详细的介绍,并用实际的C代码演示了这两种库的生成过程。 一、静态库和动态库简介 众所周知,程序一般需要经过预处理、编译、汇编和链接这几个步骤才能变成可执行的程
用户2017109
2018/06/19
1.6K0
C语言 | 什么是静态链接库和动态链接库?
今天分享的是静态链接库和动态链接库的相关知识,并且自己动手写一个简单的静态函数库和动态函数库,来体验这个流程。
飞哥
2020/08/11
4.9K0
C语言 | 什么是静态链接库和动态链接库?
【一站式解惑】Linux中.a、.so和.o文件以及-I,-L,LIBRARY_PATH,LD_LIBRARY_PATH等
在说明Linux的.a、.so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系。
自学气象人
2023/01/13
5.8K0
Linux编译器---gcc/g++使用详解
更加详细的介绍,可以参照这篇博客:C语言翻译环境:预编译+编译+汇编+链接详解-CSDN博客
P_M_P
2024/02/24
9990
Linux编译器---gcc/g++使用详解
【Linux】手把手教你从零上手gcc/g++编译器
然后我们使用gcc的只激活预处理选项,将生成的文件定向输入到新文件test.i中:
修修修也
2024/08/17
2100
【Linux】手把手教你从零上手gcc/g++编译器
深入理解GCC 和 G++ 编译器
GCC(GNU Compiler Collection)和 G++ 是 GNU 项目的一部分。GCC 是一个多语言支持的编译器,可以处理 C、C++、Fortran 等语言,而 G++ 是 GCC 的 C++ 前端,用于专门处理 C++ 源代码。
DevKevin
2024/12/31
3650
深度解析Linux中的编译器gcc/g++
我们需要进入到/etc/sudoers这个文件里面,我们需要使用我们的root账户,不然得话我们进去之后什么都看不见的
Undoom
2025/01/17
1840
深度解析Linux中的编译器gcc/g++
Linux工具学习之【gcc/g++】
书接上文,我们已经学习了 Linux 中的编辑器 vim 的相关使用方法,现在已经能直接在 Linux 中编写C/C++代码,有了代码之后就要尝试去编译并运行它,此时就可以学习一下 Linux 中的编译器 gcc/g++ 了,我们一般使用 gcc 编译C语言,g++ 编译C++(当然 g++ 也可编译C语言),这两个编译器我们可以当作一个来学习,因为它们的命令选项都是通用的,只是编译对象不同。除了编译器相关介绍外,本文还会库、自动化构建工具、提权等知识,一起来看看吧
北 海
2023/07/01
2420
Linux工具学习之【gcc/g++】
gcc用法以及静态/动态链接
-E:只进行预处理,不编译 -S:只编译,不汇编 -c:只编译、汇编,不链接 -g:编译器在编译的时候产生调试信息。 -I:指定include包含文件的搜索目录 -o:输出成指定文件名,如果缺省则输出位a.out -L:搜索库的路径 -l:指定程序要链接的库 -w:忽略所有警告 -shared:指定生成动态链接库。 -static:指定生成静态链接库。 -fPIC:表示编译为位置独立的代码,用于编译共享库。目标文件需要创建成位置无关码,概念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方。
用户2929716
2018/08/23
1.6K0
gcc用法以及静态/动态链接
g++入门教程
g++是GNU开发的C++编译器,是GCC(GNU Compiler Collection)GNU编译器套件的组成部分。另外,gcc是GNU的C编译器。
恋喵大鲤鱼
2018/08/03
14.8K0
GCC编译选项_需要使用安全编译选项的语言
gcc和cc是一样的,c++和g++是一样的。一般c程序就用gcc编译,c++程序就用g++编译
全栈程序员站长
2022/11/15
1.4K0
GCC编译选项_需要使用安全编译选项的语言
gcc编译器参数_gcc for c4droid
虽然我们称Gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。
全栈程序员站长
2022/11/04
1K0
linux动态库和静态库
http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520101023104745738/
bear_fish
2018/09/20
12.8K0
TT扩展件microPython实现.2
-nostdlib作用:不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器。这个选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件。
云深无际
2020/12/17
1.3K0
TT扩展件microPython实现.2
CMake和静态库顺序
C/C++程序的许多同学被静态库的依赖折腾,因为默认情况下要求被依赖的库放在依赖它的库后面,当一个程序或共享库依赖的静态库较多时,可能会陷入解决链接问题的坑中。如果对静态库不熟悉,需要结构nm等工具来解决顺序问题。
一见
2018/12/25
6.9K0
gcc编译成动态库_gcc动态库
第一步:使用-shared参数生成动态库,gcc -shared -fPIC -o libtest.so test.c 然后把libtest.so复制到/usr/lib64/系统路径下
全栈程序员站长
2022/11/19
1.8K0
Linux下Centos7中的gcc/g++
可能对于没有配置过的centos来说,会无法编译成功。为什么呢?那是由于gcc的版本在默认的情况之下是取了一个适中的版本,不算太新,正好又不能编译for循环,所以导致这样不能进行编译。 如果想要编译的话,可以根据提示信息,进行改写一下gcc命令
薛定谔方程难
2024/07/27
1170
Linux下Centos7中的gcc/g++
如何制作属于自己的静态库?
在《一文带你了解静态库和动态库》一文中介绍了静态库的特点以及与动态库的区别。那么你有没有想过如何把自己写好的函数接口制作成静态库给别人用呢?本文教你如何制作属于自己的静态库。
编程珠玑
2019/07/17
1.2K0
相关推荐
C/C++生态工具链——gcc/g++编译器使用指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档