问题标签 [dynamic-loading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 用php加载页面,但用jquery淡入
我正在使用 php 在我的页面中动态加载内容。我想添加一个很好的效果,比如用 jquery 淡入。
但是如果用户关闭了javascript,我希望我的页面仍然有效。
这是我加载内容的 php 代码:
android - Android 动态加载列表视图 onScrollListener 问题
我已经实现了一个列表视图,每个用户滚动到底部屏幕,它会自动将新数据添加到列表视图滚动完成后,onScroll() 调用每个进入显示视图的新项目,从开始到结束滚动。
我在模拟器中运行,上面列出了 5 个项目,但我无法检测到 ListView 中滚动的结束,多次调用 ChangeTab_best()。当我看到 Logcat android 时,所有变量 firstVisibleItem,visibleItemCount,totalItemCount 始终等于 0
那么这里发生了什么?
c - 使用转换的库兼容性问题
convert
从命令行运行以将少量 JPG 文件合并为 PDF 时出现段错误:
在那里,你看到了吗?为了尝试追踪发生了什么,我在调试器下运行它,得到以下结果:
谁能告诉我这是什么意思?看起来好像有一个库不兼容,但我不确定我能做些什么或能做些什么。
抱歉,如果我的标签有误 - 如果您能想到更合适的标签,请随时更改。我从源代码配置并制作了转换应用程序,所以我想我并没有真正期待这一点。
c# - 动态加载程序集导致版本控制错误
我有一个可以动态运行多个插件的应用程序。安装应用程序后,用户只需将相应的插件放入安装目录,程序将根据界面动态加载它们。
我遇到的问题是插件引用了主应用程序中的一个库来访问正确的界面并共享全局设置。我希望能够随时添加插件,而无需用户重新安装。但是,由于插件引用了一个库,所以当我尝试加载它们时,我收到了错误:
我知道如果我将所有插件添加到安装程序中,我可以避免这个错误,但如果我稍后添加新插件,用户将不得不卸载并重新安装。动态加载插件的原因是用户只需放入一个新插件,它就可以工作。
有没有办法让插件引用主应用程序中的对象而不用担心应用程序的版本?
谢谢。
c - 使用 dlopen 加载的共享库是否会自动关闭?
如果我使用打开一个动态库dlopen
并且我的程序在没有相应的情况下终止dlclose
,引用计数会减少吗?如果没有,会发生什么?库会一直加载到下次重新启动吗?
c++ - 在 C++ 中使用动态加载重新加载库
如果我在 C++ 中使用动态加载打开一个库,我以后可以重新加载同一个库的更新版本吗?我自己会对此进行测试,但在我开始将其作为我正在研究的潜在解决方案之前,我很好奇它的可行性。
以防万一,我在 Linux 上运行。能够使其在其他操作系统上运行会很好,但这不是必需的。
javascript - 将模板文件动态加载到在 IE8 中不起作用的 div 中-
我使用以下代码将包含我的模板的 html 文件动态加载到 div 中,它在所有浏览器中都可以正常工作,除了IE8 and lower
JS功能:
模板.html:
c - C中的函数指针相等
我的问题:
- C标准是否保证函数指针相等?
- 如果(1)的答案是肯定的。无论在不同的最终编译单元(例如主可执行文件和共享库)中获得指针是否都是这种情况?
- 动态加载器如何处理这个问题?(我可以考虑一些这可能很棘手的原因,所有这些都与 PIC 代码有关(例如,elf 中的 GOT 表和任何等效的 COFF 用于此的))。不管 (1) 和 (2),linux 加载程序似乎都可以保证这一点。
这是一个例子。上面的问题归结为 C 是否保证main.c
打印内容: "Function equality: 1"
或者"Function equality: 0"
,在第一种情况下,动态加载程序是如何实现的。
common.h:
main.c:
shared.c:
在 Unix 中,这将使用以下命令编译:
并执行:
c# - 从不同的程序集中动态加载类(具有自定义行为)?
我们正在为少数客户构建一个应用程序,每个客户都有自己的要求以及类似的要求。我们还希望将所有代码保留在同一个应用程序中,而不是对其进行分支,并且 IF 不是一个好的选择,因为它会遍布各处。
我计划为所有人提供基类。然后每个客户都有自己的类,覆盖方法将在其中执行特殊逻辑。
我们如何在编译时加载程序集而不是这样做
c++ - arm(cortex-m3)的位置独立可执行文件(-pie)
我正在使用 codesourcery g++ lite(基于 gcc4.7.2 版本)为 stm32(Cortex-m3)编程。我希望动态加载可执行文件。我知道我有两种选择:
1. 可重定位精灵,它需要精灵解析器。
2. 具有全局偏移寄存器的位置无关代码(PIC)
我更喜欢带有全局偏移寄存器的 PIC,因为它似乎更容易实现,而且我不熟悉 elf 或任何 elf 库。此外,使用一些工具可以很容易地从 elf 文件生成 .bin 文件。
我尝试使用“-msingle-pic-base -fpic”编译选项和“-pie”链接选项构建我的程序,但随后出现链接错误:
...path...ld.exe: ...path...thumb2\libstdc++.a(pure.o): 重定位 R_ARM_THM_MOVW_ABS_NC 在制作共享对象时不能使用“本地符号”;使用 -fPIC 重新编译
我不太明白错误信息。似乎默认的标准 c/c++ 库不能与我的选项一起使用,我需要获取库的源代码并为自己的目的进行重建。
那么,
1. 任何人都可以向我提供有关如何使用与位置无关的可执行文件的任何有用信息/链接吗?
2. 有了 -msingle-pic-base 选项,我就不需要太在意 GOT 和 ld 脚本了,对吧?
注意:如果没有“-pie”链接选项,我可以构建程序。但是在调用 c++ 虚函数时程序会失败(当我使用 IDE(keil) 的模拟器来调试我的程序时)。我不明白发生了什么以及我错过了什么。
-------------------------------------------------- ------------------
-- 添加 20130314
- 使用-msingle-pic-base选项,我不再需要过多关心 GOT 和 ld 脚本,对吧?
根据我的实验,寄存器(我的程序中使用了 r9)应该指向 got.plt 部分的开头。删除“-pie”选项,链接将成功,(正确设置r9)然后成功调用c ++虚函数。不过,我仍然认为“-pie”选项很重要,它可以确保当前的标准库是位置无关的。谁能为我解释一下?
-------------------------------------------------- --------------------
-- 添加了 20130315
我查看了 ARM 网站上关于 ABI 的文档。但这没有什么帮助,因为他们没有针对特定平台。似乎有一个 EABI 的概念(我使用的是 sourcery 的 arm-none-eabi 版本),但我在 arm 的网站上找不到任何关于“EABI”的文档。我也无法从 sourcery 和 gcc 中找到有关此主题的文档。PIC 的实现不止一种,那么在非 eabi 情况下,sourcery g++ 使用的是哪一种?我认为“-msingle-pic-base”、“-fpie”、“-pie”选项的行为记录太差了!
从反汇编代码中,我刚刚发现,在“-msingle-pic-base”中,r9 应该指向“.got”部分的基地址,.got 部分中的指针是绝对指针并且变量的寻址类似于文章中的描述:共享库中的位置独立代码(PIC)。所以我仍然需要在加载时修改“.got”部分。我不知道我的程序中使用的“.got.plt”部分是什么。似乎函数调用正在使用 PC 相对寻址。
如何使用“-pie”构建或如何链接使用“-fpic”编译的标准库对我来说仍然是一个问题。