11得票2回答
在Linux上使用OpenGL:dlopen libGL.so

大多数在Linux上使用OpenGL的应用程序和库都是在运行时使用dlopen API加载libGL.so,而不是动态链接它。 为什么他们要这样做呢? 我唯一能想到的原因是因为任何图形驱动程序供应商都会提供不同的libGL,并且两个不同的libGL可能是ABI不兼容的。(好吧,为什么它们应...

21得票1回答
动态加载和弱符号解析

分析这个问题,我发现一些关于Linux上动态加载(dlopen)中弱符号解析行为的事情。现在我正在寻找规范来管理它。 让我们以一个例子为例。假设有一个程序a,它动态加载库b.so和c.so,按照这个顺序。如果c.so依赖于另外两个库foo.so(实际上在这个例子中是libgcc.so)和ba...

11得票3回答
jQuery getScript()和document.createElement('script')的区别

假设两种方法都能正确加载脚本,并且我在使用脚本之前等待了适当的时间(和/或使用回调函数),那么这两种方法之间的主要区别是什么? 注:我明白第一种方法使用了jQuery(这是一个更大的下载等)。我真正感兴趣的是这些方法之后的影响。它们是否将脚本放置在不同的范围内?等等。 jQuery:fun...

11得票3回答
动态导入的函数能否通过它们的名称唯一识别?

我使用了readelf --dyn-sym my_elf_binary | grep FUNC | grep UND 要显示my_elf_binary中动态导入的函数,具体来说是从.dynsym节中的动态符号表中。示例输出如下: [...] 3: 00000000 0 FUNC ...

89得票5回答
`-rdynamic`到底是做什么的,它在什么情况下是必须的?

-rdynamic(或链接器级别的--export-dynamic)到底是做什么的,它与由-fvisibility*标志或可见性pragma和__attribute__定义的符号可见性有何关系? 对于--export-dynamic,ld(1)中提到: ... 如果您使用“dlopen”...

8得票1回答
在运行时加载Typescript动态模块

我在一个使用NodeJS Typescript的项目中定义了一个抽象的BaseClass,我有一系列派生类,这些类实现并扩展了这个BaseClass。 // baseModule.ts export abstract class BaseClass { constructor() {} ...

7得票3回答
如何从C++ DLL动态加载C# DLL

我有一个C++应用程序,支持用户的C++插件DLL。它会动态加载这些DLL,并能够动态创建和使用用户类型。这些用户类型派生自主应用程序核心库中定义的基础类型和接口,因此我将用户对象保持为指向基类的指针,并调用用户虚拟函数来实现其魔法。 现在我想扩展插件DLL以允许托管DLL(我主要关心C#)...

54得票3回答
动态列表视图在滚动到底部时添加“加载更多项目”

我有一个ListView,它通过JSON从SQLite数据库中获取数据。 我希望将其转换为动态ListView,在滚动到末尾时,在列表底部出现“加载更多项”的脚注,同时加载更多项并将它们添加到适配器(例如每次10个项目)。我在实现此功能时遇到了问题。请帮助我。谢谢。public class ...

15得票1回答
C语言中的函数指针相等性

我的问题: C标准是否保证函数指针的相等性? 如果第一个问题的答案是是,那么即使在不同的最终编译单元(例如主可执行文件和共享库)中获取指针也是如此吗? 动态加载器如何处理这个问题?(我可以想到一些可能很棘手的原因,都与PIC代码有关(例如elf中的GOT表以及COFF用于此的任何等效物)。...

9得票1回答
动态加载不使用extern "C"

我想使用libdl来动态加载C++代码。问题是在运行时识别已被名称修饰的符号。 如此处所述,一种解决方案是通过使用extern "C"来去除名称修饰。 http://www.tldp.org/HOWTO/C++-dlopen/theproblem.html 这种解决方案的缺点是将动态加载...