腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
共享库和对用户
内存
的可见性
、
、
当我通过
dlopen
使用共享库时,库代码可以“看到”调用
dlopen
的进程的
内存
吗?例如,我想将一个指向应用程序分配的
内存
的指针传递给库API。 我使用
Linux
/x86,如果它很重要的话。
浏览 2
提问于2016-02-27
得票数 0
1
回答
查找
dlopen
和dlclose之间的共享库中的
内存
泄漏
、
、
我们编写了一个共享库(比如slib.so),它在一个永无止境的可执行文件中
dlopen
‘’d、used和dlclose'd。我想在不附加可执行文件的情况下检查库slib.so中的
内存
泄漏。
Linux
中有没有工具可以找出共享库中的
内存
泄漏?所以我需要一个工具来监控
dlopen
和dlclose之间的堆,并在dlclose之后报告问题。
浏览 5
提问于2018-10-29
得票数 0
3
回答
C应用程序中的
dlopen
和dlclose
内存
管理
、
、
、
、
我使用
dlopen
加载一个动态库"lib1.so“,并调用一个公开的函数,比如A1,A1函数使用malloc分配100kb的动态
内存
,但没有释放它,在主函数中,我再次调用所有的dlclose。
dlopen
,调用函数A1,dlclose
浏览 4
提问于2011-10-31
得票数 1
3
回答
从
内存
中加载.so文件
、
、
可能重复: 是否有从
内存
中加载.so文件的示例?哪怕是一个我能完成的简单的?我只是不知道从哪里开始,虽然我读过大部分ELF规格,但对我来说还是很神秘的。
浏览 5
提问于2012-01-26
得票数 6
2
回答
是否有方法将
Linux
共享库加载到特定的
内存
位置?
、
、
、
我有一个
Linux
应用程序,它在运行时加载非常小的(一些小函数)共享库。由于各种重要原因,™需要将共享库加载到特定的虚拟
内存
范围。但是,
dlopen
()并没有提供任何方法(我可以看到)来告诉它,或者提示它将加载的内容放在哪里。 有没有一种方法可以告诉
dlopen
()它应该把它加载的库放在哪里?有什么替代
dlopen
()的方法可以提供这种功能吗?
浏览 3
提问于2014-09-18
得票数 3
回答已采纳
1
回答
从zip、
内存
等加载动态库
、
、
是否有方法从zip文件、
内存
或自定义包文件加载动态库(so或dll)?还是我在浪费时间?关于这件事,我在网上找不到任何东西。编辑澄清:我正在寻找一个运行时加载动态库使用LoadLibraryEx (对于
dlopen
)或
dlopen
(对于
Linux
)。
浏览 2
提问于2014-01-17
得票数 0
回答已采纳
1
回答
动态加载地址空间布局的控制
、
、
是否可以(在
Linux
/OSX中)控制加载后共享库在
内存
中的映射方式?是否有可能对
内存
中的一个连续区域进行malloc,并将其传递给诸如"
dlopen
“之类的例程?
浏览 1
提问于2015-11-29
得票数 0
回答已采纳
1
回答
在
linux
库中查找静态函数地址
、
、
我需要在
linux
库中找到静态函数的地址以进行挂钩。有什么方法可以找到它吗?或者如何在库的
内存
中迭代,这样我就可以进行模式扫描?
浏览 1
提问于2014-11-14
得票数 2
2
回答
Debug postmortem a
dlopen
()句柄?
、
、
我有一个核心文件,并想调试
dlopen
()返回的句柄,例如,验证它是否仍然完好无损。在句柄上调用的dlsym()函数指示堆栈跟踪中的this=0x0。有没有关于
dlopen
()句柄背后的描述?
浏览 8
提问于2018-05-23
得票数 0
2
回答
当使用
dlopen
加载库时,具有静态存储行为的动态变量
、
、
、
、
这里的问题是:当库使用
dlopen
和appln打开时,调用library_init函数并使用dlclose关闭库,然后再次使用
dlopen
调用将全局计数重置为0。我想知道如何防止全局变量重置,我希望globalcount在下次调用
dlopen
时必须是1而不是0,因为进程没有退出,所以全局变量也不能重置。仅当多次使用
dlopen
/dlclose打开lib时才会出现此问题怎么办,调用dlclose时一定不能释放数据段中的
内存</
浏览 2
提问于2011-11-05
得票数 2
1
回答
C动态包含库,通过将原始函数数据复制到
内存
块
、
、
、
我想,如果我有一个单独函数的原始机器代码输出,我可以恐惧地将其读取到一块
内存
中,并只需创建一个指向那里的函数指针,以便在运行时动态包含一个函数。 这样行得通吗?
浏览 31
提问于2020-10-08
得票数 0
3
回答
在c++中使用"char*“变量的查询
、
、
我的查询是,我们是否应该使用new()或malloc()为char*变量分配
内存
?std::string str;chrarray = str.c_str();error = dlerror(); 我在
linux
的
dlopen
手册页面中看到了上面的代码。为什么
内存
没有分配给错误变量?
浏览 4
提问于2014-08-21
得票数 0
回答已采纳
2
回答
dlopen
()搜索路径
、
、
有没有办法以编程方式找出
dlopen
()为共享对象搜索了哪些路径?我一直以为
dlopen
()只会查看/lib和/usr/lib,但现在我发现在
Linux
Mint上,libglib-2.0so等几个核心组件位于一个完全不同的文件夹中,即/rofs/lib/i386-gnu-
linux
有没有办法知道
dlopen
()将搜索共享对象的所有这些路径?我已经检查了环境变量LD_LIBRARY_PATH,但它根本没有定义。
浏览 4
提问于2011-11-19
得票数 10
回答已采纳
1
回答
如何防止加载特定的动态库
、
、
、
、
我想使用一个古老的软件(虚拟锦标赛“经典”从1999年,也称为UT99)。动态库libtxc_dxtn.so被隐式加载,探索可选的S3纹理压缩(S3TC)支持。不幸的是,在加载库时,主应用程序会出现分段故障(崩溃也描述了)。解决方法似乎是通过删除或移动libtxc_dxtn.so来删除Mesa的纹理压缩库。这个应用程序在没有纹理压缩的情况下运行的非常好,但是当然其他需要纹理压缩支持的应用程序现在已经崩溃了。当然,我不想为一个特定的应用程序修改我的系统。我能阻止(如“掩码”或“禁用”)特定的动态库被特定的应用程序加载吗?我希望能找到与LD_PRELOAD相反的东西。 Upda
浏览 3
提问于2017-12-02
得票数 2
回答已采纳
1
回答
如果在用
dlopen
()显式加载共享库之后删除/替换它,会发生什么情况?
、
、
如果在用
dlopen
()显式加载共享库之后删除/替换它,会发生什么情况?标志RTLD_NOW是否意味着将整个库加载到
内存
中?
浏览 9
提问于2021-10-21
得票数 1
1
回答
``
dlopen
()‘通过调用动态链接器’`ld
linux
.so‘执行动态链接吗?
、
CSAPP说
dlopen
()是否通过调用动态链接器ld-
linux
.so来执行动态链接?ld-
linux
.so是
dlopen
()调用来执行动态链接的动态链接器吗? 谢谢。
浏览 0
提问于2020-09-27
得票数 0
回答已采纳
1
回答
当提供库地址时,如何在共享库中获取符号的地址?
、
、
、
、
我正在学习如何在
Linux
上使用C/C++中的共享库。我遇到了一个我不知道怎么解决的小问题。 假设我有一个共享库和一个可执行文件。但是,我不知道库的名称或文件位置(所以我不能
dlopen
它)。我只能找到将库映射到可执行文件
内存
中的地址范围。是否有一种方法以编程方式获取库的句柄(类似于handle =
dlopen
(library_address))或在库中获得符号的偏移量(类似于address = dlsym(library_address
浏览 1
提问于2018-02-25
得票数 2
回答已采纳
5
回答
如果
dlopen
()失败,dlerror()如何返回NULL?
、
、
、
在我的更改之后
dlopen
()失败并且dlerror()返回NULL的问题。编译不会返回任何错误。而且,我添加了这个函数,即使
dlopen
这是用于加载模块的代码#endif char*
浏览 10
提问于2011-12-18
得票数 3
2
回答
在应用程序运行时,动态链接器如何解析引用?
、
、
假设我有一个源文件dll.c,它使用
dlopen
和dlsym函数在运行时加载一个名为F.so的共享库。下面的图片是可执行对象prog,它是 因此,.text部分包含了some_function()的引用,当porgram我的问题是: Q1-在我看来,动态链接器需要修改
内存
中的.text部分( some_function()属于它)(可执行文件被复制到
内存
中),这样some_function()的引用才能被解析,我的理解正确吗Q2
浏览 4
提问于2020-09-02
得票数 0
回答已采纳
1
回答
为交互式C代码编写C解释器
、
我想练习C,所以我决定按照python解释器的精神编写一个C解释器。我有一些C语言知识,但我一直是一个从实践中学习的程序员。int x = 10;其中,我创建了一个结构,表示变量的类型、名称和int值的ivalue,以及char值的cvalue。要实现的目标还有很多,但要一步一步来。printf("value of x = %d\n, x);这听起来很愚
浏览 2
提问于2013-08-05
得票数 0
点击加载更多
相关
资讯
图解|Linux内存碎片整理
Linux内存映射mmap原理分析
解读 Linux 内存管理新特性 Memory folios
一篇读懂Linux 是如何管理内存的
Linux下自动化监控内存、存储空间!
热门
标签
更多标签
云服务器
ICP备案
云点播
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券