腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
具有局部变量和静态变量的
动态
库
、
、
在
linux
中,
动态
库
可以有
全局变量
、局部变量和静态变量吗? 如果是,那么这些变量中的每个变量将存储在内存中的什么位置?在我看来,
全局变量
和静态变量将与
动态
库
的代码部分一起使用,而局部变量应该在调用
动态
库函数的可执行文件堆栈中声明。
浏览 14
提问于2009-11-10
得票数 0
回答已采纳
1
回答
最大外部符号长度
、
、
关于C++中的最大外部符号长度(
全局变量
、函数、类等名称),我有两个问题: C++语言的GNU和其他链接器(静态链接)中的最大外部符号长度是多少?
Linux
,Windows (
动态
链接)上的
动态
链接
库
的最大外部符号长度是多少?
浏览 4
提问于2015-08-28
得票数 2
2
回答
在OS X上使用C语言从dlopen()
动态
库
访问主程序
全局变量
、
、
、
我正在维护一个具有一些类似插件功能的,它是通过运行时加载的
动态
模块实现的。具体地说,因为它是一个Gtk+应用程序,所以我使用的是gmodule,但这个问题也适用于基于dlfcn.h / dlopen()的
动态
库
加载。在
Linux
上,我可以直接引用这个
全局变量
--它工作得很好,我猜是gcc或链接器负责将
全局变量
从主程序导出到
动态
库</
浏览 3
提问于2009-12-20
得票数 8
回答已采纳
5
回答
全局变量
在执行和共享libaray编译时在Windows上有多个副本,在
Linux
上有一个副本
、
*问题修订(见下文) *static Foo bar;是什么控制了
Linux
上的这种行为,我可以改变它吗?上面的静态
全局变量
在Windows上确实有多个副本,所以与我在
Linux</
浏览 9
提问于2011-02-07
得票数 7
回答已采纳
2
回答
静态
库
链接两次
我有以下设置: 数据(
全局变量
、静态类成员)是否也重复,可执行文件和dll是否看到相同的数据?你怎么解决这个问题?静态
库
没有导出/导入标志。
动态
图书馆有自己的符号导出。
浏览 6
提问于2015-07-03
得票数 9
回答已采纳
1
回答
不同的程序如何引用共享
库
?
我知道共享
库
被加载到内存中,并被各种程序使用。 程序如何知道
库
在内存中的位置?
浏览 3
提问于2020-06-10
得票数 0
2
回答
linux
中的
动态
库
共享
全局变量
、
、
、
我们知道,
linux
调用ldconfig来加载所有的*.so
库
,然后链接使用共享
库
的应用程序。然而,我对
全局变量
在这种情况下是如何工作的感到困惑。由于所有这些应用程序中只有一个共享
库
副本,它们是否共享共享
库
中的
全局变量
?如果是,那么它们是如何同步的? 谢谢,
浏览 13
提问于2012-09-17
得票数 2
回答已采纳
2
回答
如何通过静态
库
(macOS)在主进程和
动态
库
之间共享
全局变量
?
、
、
我正在尝试使我的主进程和
动态
库
(dlopen)共享
全局变量
SHARED,该变量位于它们都链接到的共享
库
中。经过进一步的研究,我认为这个问题可以归结为:如何获得-rdynamic标志的
Linux
行为? 这不是我打算这样运行代码的目的。我正在移植运行在
Linux
上的现有软件。
浏览 1
提问于2020-01-24
得票数 2
回答已采纳
2
回答
全局变量
、共享
库
和-fPIC效应
、
、
我编写了一段代码,它由一个
动态
库
(lib.c)和一个主可执行文件(main.c)组成。在这两个文件中,我定义了一个名为:int global的
全局变量
。不太聪明但这不是问题。在编译
动态
库
时,-fPIC选项似乎是强制性的:否则我会得到: /usr/bin/ld: /tmp/ccpUvIPj.o: relocation对于-fPIC,main.c中的
全局变量
和lib.c中的
浏览 2
提问于2011-09-04
得票数 14
回答已采纳
1
回答
如何使用dlopen重新加载
动态
库
中的
全局变量
?
、
我尝试使用dlopen加载带有标志RTLD_NODELETE的
动态
库
,以便保持
全局变量
,并确保它们在下次使用dlopen重新加载时不会重新启动。但是,当我想在库中的某些函数更新时重新加载
库
时,dlopen(在重新加载之前,我调用了接口dlclose)似乎无法工作。这些函数使用相同的旧代码运行。 所以我现在很困惑。在使用dlopen重新加载
全局变量
时,如何将
全局变量
保存在
动态
库
中。(更新函数,但不更改变量。)
浏览 7
提问于2013-08-22
得票数 0
回答已采纳
1
回答
在C++中,可以从
动态
库
中访问外部定义的
全局变量
吗?
、
、
在C++中,可以从
动态
库
中访问外部定义的
全局变量
吗?int testVariable; 然后在源代码文件中定义如下;int testVariable; 包括我的
动态
库
的源代码如下;如果我不太清楚,我会说,当调用dlopen (
库
)时,
库
无法解析对
全局变量
testVariable的引用,这就是导致dlopen操作失败的原因。链接类型和/或名称损坏是否与此问题有关?如果我在生
浏览 10
提问于2011-03-11
得票数 2
1
回答
从经典ASP调用DLL的地址空间
、
、
它需要管理到(非标准)数据
库
的连接池。我使用了一个
全局变量
来实现它,但是由于ASP设置导致应用程序崩溃,所以它每隔20分钟就会被重置一次。在
动态
链接
库
( )中,
动态
链接
库
都是在它们自己的地址空间中创建的,因此使得
全局变量
的解决方案完全不可行,因为每个页面访问都会有自己的“
全局变量
”。这不符合我的观察,即在DLL达到其空闲超时之前,
全局变量
似乎是存在的。 我们谁是对的?DLL
全局变量
的作用域是什么?
浏览 1
提问于2010-01-02
得票数 2
回答已采纳
1
回答
如何将一个
库
的
全局变量
用于其他
库
、
、
我们可以在一个
库
中声明一个
全局变量
并赋值吗?我们可以访问或修改不同
库
中的
全局变量
吗?我只能
动态
加载
库
。(使用dlsym )。
浏览 4
提问于2014-10-15
得票数 0
1
回答
Linux
共享
库
中的
全局变量
、
假设我们在
Linux
下设置了名为“.so”的libcnt.so
库
和3个用户空间应用程序:"app1“、"app2”、"app3“。这个
库
做了一个简单的事情,它告诉应用程序(应用程序在运行时
动态
链接
库
),它已经链接了多少个应用程序。应用程序应该可以访问链接计数器。在这方面,我在C和
Linux
方面的知识是有限的,但据我所知,这些信息应该存储在共享对象内的
全局变量
中。那么,我的问题是,应该如何在.so
库
中声明和/或定义
浏览 0
提问于2014-06-11
得票数 6
1
回答
更新多个进程使用的共享
库
中的
全局变量
、
我在一个共享
库
(libshared.so)中有一个
全局变量
,.The
库
被多个进程访问,这些进程正在访问
库
中的
全局变量
。我面临的问题是,一个进程对
全局变量
(存在于共享
库
中)的更新不会反映到其他独立进程访问的变量中。我想更新共享
库
中的
全局变量
。谢谢阿米特·
库
马尔
浏览 7
提问于2017-05-12
得票数 0
2
回答
C-将堆内存分配给
全局变量
、
、
假设我有一个共享
库
文件(比如libtemp.so),它有一个
全局变量
。如果我
动态
加载这个
库
,给它分配一个堆内存,然后关闭这个
库
。如果我再次加载
库
,那么旧的堆内存是否会泄漏?(我认为这是真的,因为当再次加载
库
时,
全局变量
将被重置) 将堆内存分配给
全局变量
是不是一种糟糕的做法?有没有什么情况下我们不得不这样做呢?
浏览 2
提问于2012-08-01
得票数 1
回答已采纳
1
回答
静态变量和
全局变量
在
Linux
上的
动态
库
和静态
库
中都显示不同的地址?
、
、
、
、
正如我在网上搜索的那样,当使用
动态
库
时,静态变量在Windows和
Linux
上的行为不同。也就是说,Windows将导致变量的复制,而
Linux
则不会像下面这样:。然而,当我编写一个小程序来验证这一点时,我发现
Linux
也会导致重复。这是我的小程序,包括四个文件:
动态
部分d.cpp和静态部分main.cpp都使用在A.cpp和A.h中声明的变量a和b。这让我非常吃惊,因为
全局变量
a和静态变量b的地址在
动态</em
浏览 2
提问于2015-11-10
得票数 2
回答已采纳
1
回答
从DLL调用后,静态
库
全局值被重置
、
、
我在wince 6.0中有c++
库
,有一些
全局变量
。该
库
已与c++
动态
链接
库
相链接。当我退出应用程序并调用DLL时。首先,它利用了静态
库
的所有
全局变量
,但当控制权回到DLL时,它又回到了静态
库
。
浏览 4
提问于2013-04-15
得票数 0
2
回答
为什么我的应用程序在关闭时有时会出现SIGSEGV崩溃?
、
、
在启动时,它加载一些自编写的
动态
库
,这些
动态
库
也使用Qt (如果这在某种程度上有用的话)。0x7ffff6273d20) at cxa_finalize.c:56#10 0x00007ffff5f9e5a1 in _fini () from /usr/lib/x86_64-<em
浏览 4
提问于2011-12-29
得票数 9
回答已采纳
1
回答
.data.rel.ro是用来干什么的?
、
我使用objdump来分析共享对象的内存使用情况。除了.data和.rodata部分之外,我还看到了一个.data.rel.ro部分。
浏览 27
提问于2011-08-11
得票数 18
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux库概念,动态库和静态库的制作,如何移植第三方库
警惕利用Linux预加载型恶意动态链接库的后门
动态库与静态库小看法
探索静态库与动态库的“奥秘”
全国PPP管理库动态周报
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券