腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
如何从用LD_PRELOAD加载的
库
构造函数调入可执行文件?
c
、
gcc
、
ld
、
shared-libraries
、
ld-preload
我希望能够从我预先加载的
库
中调入可执行文件。");{ return 0;这是用现在我想预加载
库
,
浏览 2
提问于2014-03-20
得票数 1
1
回答
链接器如何在剥离的
动态
库
中定位代码?
c++
、
dynamic
、
dll
、
linker
、
ld
从
动态
库
( Windows上的.dll、OSX上的.dylib和
Linux
/Solaris/BSD上的.so )中删除
符号表
是常见的做法。这是有意义的,因为它大大减少了
库
的文件大小,通常超过75 %。 然而,这个问题一直困扰着我:一个被剥离的
库
没有
符号表
。如果我编写了一个引用这个
库
中的函数的可执行文件,那么当没有
符号表
来提供这些信息时,操作系统的
动态
链接器如何知道在已剥离的
库
中找
浏览 2
提问于2013-11-29
得票数 7
回答已采纳
2
回答
NodeJS本机模块-如何删除调试符号
c++
、
node.js
、
debug-symbols
它正在进行发行版构建,但
符号表
仍然包含在输出文件中。这是我的binding.gyp: "targets": [ "libraries": [ "/usr
浏览 2
提问于2018-02-23
得票数 4
回答已采纳
1
回答
Mac
动态
库
中的
动态
符号表
?
macos
、
dynamic-linking
、
dylib
我正在将一个C/C++应用程序
库
(由共享
库
组成)从
Linux
移植到Mac OS,当我尝试在Mac构建的结果dylib中查看
动态
符号表
时,我得到了以下信息: $ nm -g -D -C --defined-only我在一些系统
库
上得到了相同的结果。那么,Mac dylibs没有
动态
符号表
是正常的吗?或者我可能在链接过程中做错了什么?
浏览 6
提问于2020-03-22
得票数 2
2
回答
静态
库
链接两次
c++
Linux
和Windows之间有什么区别吗?编辑:静态
库
没有导出/导入标志。
动态
图书馆有自己的符号导出。Windows:
动态
库
具有静态
库</e
浏览 6
提问于2015-07-03
得票数 9
回答已采纳
1
回答
由C++编译器创建的
符号表
c++
、
visual-c++
、
compiler-construction
、
symbols
、
effective-c++
我正在阅读有效的C++,第3版和第2项(喜欢const、枚举和内联以#defines),Scott提到了
符号表
:他解释说#defines可能不会出现在
符号表
中。这是使用为每个对象文件创建的表来完成的,这样在稍后阶段就可以通过链接器从对象文件创建可执行文件/
库
时定义符号。在链接期间,符号是由链接器用其适当的内存地址代替的。链接之后,一旦内存地址被解析,我不认为
符号表
是必需的?也就是说,我认为
符号表
在可执行文件/
库
中是不可用的,对吗? 我怀疑
符号表
对
浏览 2
提问于2014-10-22
得票数 7
2
回答
等效于GNU LD的Solaris链接器--导出-
动态
标志
linker
、
solaris
、
shared-libraries
、
ld
问题是:我们使用GNU构建
Linux
,使用Solaris ld构建solaris。GNU ld支持--export-dynamic标志,该标志: 在创建
动态
链接的可执行文件时,将所有符号添加到
动态
符号表
中。
动态
符号表
是在运行时从
动态
对象中可见的一组符号。
浏览 6
提问于2009-02-27
得票数 1
回答已采纳
1
回答
nm vs "readelf -s“
linux
、
nm
、
readelf
假设我们有一个名为libtest.so的共享
库
,其中有一个函数“foo$strip libtest.so$nm libtest.so
浏览 1
提问于2012-04-01
得票数 36
回答已采纳
1
回答
更新使用"-Bsymbolic“链接器选项生成的共享对象
c
、
gcc
、
shared-libraries
、
elf
我认为"-Bsymbolic“选项在共享对象的ELF
动态
符号表
中添加了一个标志。更多信息: 平台: arm
linux
浏览 1
提问于2019-02-19
得票数 1
回答已采纳
1
回答
共享库内部
linux
、
linker
、
shared-libraries
、
loader
我想知道我所问的共享
库
在
符号表
引用方面是如何工作的。这就像我们包含一个共享
库
时,它导出
符号表
进行处理,然后根据一些指针执行相应的函数。 共享
库
带区的含义是什么?编辑:-我想知道当共享
库
加载到内存中时它是如何工作的。\当一个函数从
库
中有def的应用程序调用时,比方说Fun()。那么这种联系是如何发生的。我希望现在一切都清楚了。
浏览 1
提问于2009-09-05
得票数 1
回答已采纳
1
回答
我怎样才能保留一个符号,在gcc剥离期间?
gcc
、
ld
使用arm-
linux
-gnueabi-gnueabi,我正在处理一个共享对象,它没有定义对"main“的引用。我正在使用dlopen()打开这个
库
。编辑:更好的是,我是否可以将符号"main“放在
动态
部分中(类似于-rdynamic)?
浏览 6
提问于2020-06-23
得票数 0
1
回答
获取流程详细信息
process
、
operating-system
一般来说,是否有任何方法可以获得进程的详细信息(我的程序在执行之前被操作系统转换为的进程)。当我的程序作为一个进程执行时,是否可以输出数据结构的内容(例如PCB)?
浏览 0
提问于2013-01-27
得票数 0
2
回答
处理共享对象中的全局变量
c
、
global-variables
、
shared-libraries
、
extern
、
dlopen
尽管我的可执行文件定义了globalVar (静态链接),但是当我加载
动态
链接
库
sh.so时,它表示未定义的globalVar。怎么处理这个?
浏览 3
提问于2017-04-24
得票数 3
回答已采纳
1
回答
如何在物理内存中避免共享
库
文本部分的多个副本?
linux
、
memory-management
、
process
、
shared-libraries
、
loader
当
Linux
加载共享
库
时,我的理解是,文本部分只加载一次到物理内存,然后被映射到引用它的不同进程的页表中。 但是,在哪里/谁确保/检查同一个共享
库
文本部分没有多次加载到物理内存中?这使我相信物理内存中的共享
库
映射是由加载程序管理的。
浏览 2
提问于2017-07-19
得票数 0
回答已采纳
1
回答
ltrace (
库
跟踪工具)是如何工作的?
linux
、
trace
、
ltrace
追踪是怎么工作的?是否有所有对库函数的调用都经过的公共代码路径?也许ltrace在这个公共代码路径中设置了断点?
浏览 7
提问于2015-08-25
得票数 5
回答已采纳
1
回答
在运行时定位ELF共享
库
导出
elf
、
dynamic-linking
是否可以仅使用其内存映像来提取已加载共享
库
的导出符号? 对ElfN_Dyn结构进行迭代,以找到具有d_tags、DT_STRTAB和DT_SYMTAB的结构。这将给出字符
浏览 0
提问于2016-03-02
得票数 2
回答已采纳
1
回答
用通配符排除二进制文件的函数名
c++
、
linux
、
gcc
、
elf
、
strip
我想以保留某些函数名的方式删除二进制文件,因为二进制文件是一个共享
库
,所有其他函数名都从
符号表
中删除。 使用-g开关可以删除所有调试信息,这是很好的,但不包括函数名。有没有办法只从
符号表
中删除函数名?我考虑用一个ELF重写中的函数名,但它比它应该要繁琐得多,因为它似乎是一个足够常见的用例,可以被strip命令或其他“标准化”的东西所支持。
浏览 10
提问于2020-08-09
得票数 0
回答已采纳
2
回答
原型内核和模块
c
、
module
、
kernel
、
osdev
我想做内核模式的
动态
加载模块。模块这个词有点模棱两可,正确的术语应该是加载
库
,例如在<code>E 112</code>IRQ 0&1<代码>E 213</code>上的内核模式驱动程序的C
库
的一个小型化实现,或者PIT和键盘<code例如,我的内核很少使用C
库
中的一些函数,这是我自己实现的。这些函数themselfs用于安装我的GDT、IDT、IRQ、ISRs等。我想将这些函数抽象到内核可以加载和使用的
库
中。现在,我已经想
浏览 5
提问于2011-06-30
得票数 2
1
回答
在共享对象文件上反汇编符号
debugging
、
gcc
、
compilation
、
android-ndk
、
disassembly
我有一个用Android构建的共享对象xlib.so文件,我需要交付该文件。我不想让它被逆向设计。我也能摆脱这些信息吗?所以,即使有人试图拆解.so文件,他也不应该看到任何东西,除了纯程序集?
浏览 1
提问于2018-02-10
得票数 1
回答已采纳
1
回答
将符号
动态
添加到进程
符号表
中
c
、
linux
如何在
linux
上添加符号以
动态
处理
符号表
?例如,假设我解析一个脚本并确定它有一些方法,然后我想将这些方法添加到全局地址空间中,以便以后加载的共享
库
能够访问这些方法。但我想说“在全局
符号表
中添加指向&mygenericstub的'foo‘”。这个想法相当简单:为这个进程扩展
动态
链接器的功能,使其还包括脚本中的名称(但不仅仅是具有一个入口点函数,该函数为调用脚本函数接受字符串参数--而是使
动态
链接过程对以后可能加载的其他共享对象透明)。基本上,类似于dl
浏览 5
提问于2016-02-13
得票数 3
回答已采纳
点击加载更多
相关
资讯
Linux库概念,动态库和静态库的制作,如何移植第三方库
警惕利用Linux预加载型恶意动态链接库的后门
动态库与静态库小看法
探索静态库与动态库的“奥秘”
数据库与Linux
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券