问题标签 [extending]

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.

0 投票
1 回答
518 浏览

c - 扩展动态链接共享库?

我是 C 的新手,很抱歉我缺乏知识(我的 C 书真的很庞大 :)

我想用封闭源代码扩展一个共享库(libcustomer.so),但公共已知的 api。

这样的事情可能吗?

  1. 将 libcustomer.so 重命名为 liboldcustomer.so
  2. 创建一个扩展共享库 libcustomer.so(因此其他人隐式使用扩展的)
  3. 通过 -loldcustomer 将 liboldcustomer.so 链接到我的扩展 libcustomer.so
  4. 将任何未额外实现的方法直接转发到旧的“liboldcustomer.so”

我不认为它会那样工作(名称被编译成.so,不是吗?)。但是有什么选择呢?

对于#4:有没有一种通用的方法可以做到这一点,或者我是否必须编写一个像旧方法一样命名的方法并转发调用(如何?)?

因为原始的 libcustomer.so (=liboldcustomer.so) 可能会不时更改,所以所有这些东西都应该动态工作。

出于安全原因,我们的系统没有 LD_PRELOAD(否则我会采用 :( )。

考虑扩展验证检查和一些更好的 NPE 处理。

在此先感谢您的帮助!

编辑:

我只是在实现我的扩展,如答案所示,但目前我有一个未处理的案例:

如何“代理”扩展库中的结构?

例如我有这个:

客户.h:

客户.c:

现在,在我的customer-extension.c 中,我正在编写customer.c 中的所有公共方法,但是我如何“通过”这些结构呢?

非常感谢您的时间和帮助!

0 投票
2 回答
1479 浏览

c - Discover the public methods of a shared library

In addition to Extend a dynamic linked shared library? I would like to find out, how I can get a list of all public methods of a shared library with closed source.

I have tried

but there I'm missing informations like return type, arguments etc.

As a beginner in this area, I can't even figure out what of those methods would be callable for my application.

Has anyone a more helpful tool?

EDIT:

For a very simple example, I have following:

libtest1.c:

Then I compiled libtest1.c to libtest1.so:

In my "program" (test.c) I use the shared library as following:

And compile test.c to test:

This will work although I have NO libtest1.h to include. It works "just" because I know that there might be a libtest1()-method to call.

Now think of I lost libtest1.c and just have the libtest1.so in my hands and don't remember what there are for methods and what params do they need.

That's a stupid example, I know :)

Or as an other example (maybe better):

Let's assume I found a "libstone2goldconverter.so" somewhere in my system and think "oh my god, I will use it".. but how?

0 投票
1 回答
362 浏览

php - php手动异常示例

所以我正在阅读关于扩展异常的 php 手册并阅读示例代码。我对以下代码的问题是:为什么var_dump($o)评估为null?是因为类的构造函数TestException抛出异常,因此不允许完成对象吗?我几乎可以肯定这就是原因。

不过这里是检查代码:

0 投票
1 回答
428 浏览

php - 使用控制器插件扩展 zend 框架中的现有布局

我有一个布局文件如下:

我有一个用另一个模板编写的菜单系统

我希望动作方法的输出应该放在$this->actionContent中,所有这些都应该放在布局中。

然后我写了一个Controller插件如下:

在控制器类中

因此,无论哪个操作不想要那里的菜单,我们都可以传递一个值为“false”的参数“menu”。

我的问题是:这是正确的做法吗?

0 投票
2 回答
752 浏览

android - 是否可以在 Android 中扩展字符串资源查找?

我有一个多语言应用程序,它使用标准 xml 文件来提供不同语言的字符串值。

我想要做的是在查看标准 xml 文件之前覆盖 Android 的正常行为以在其他地方寻找资源。

因此,当代码调用getResources().getString()时,自定义代码会在退回到标准 getString 实现之前查看替代资源文件。

有什么办法可以做到这一点?

谢谢!

0 投票
2 回答
92 浏览

javascript - 带有缺少括号的函数调用的 JavaScript 语言扩展——它们可能吗?

是否有可能以任何方式做这样的事情:

关键部分是这条线:

0 投票
1 回答
4029 浏览

javascript - JavaScript 原型扩展

我正在尝试扩展一个 Abstract 对象。

结果:

我在 ItemB 实例中获得 ItemA 的范围有什么特别的原因吗?我该如何解决?

0 投票
1 回答
475 浏览

android - Android SQLite:如何将变量传输到不同的活动?

主程序.JAVA

MAINACTIVITY.JAVA

在 R.id.buttonsearch 的情况下:

它抓取 TextEdit 并将其存储到 searchtext 中。我需要 MainActivity 中的 searchtext 运行搜索功能并返回与该查询匹配的所有行。如何将 Main 中的 searchtext 链接到 MainActivity?

0 投票
2 回答
1149 浏览

java - 创建扩展 Stack 的 Deck 类

首先让我说,这与其说是如何让它发挥作用的问题,不如说是这是否是好的做法的问题。

我想使用自定义的 shuffle() 方法来实现一副纸牌(正如在很多游戏中看到的那样,例如 TCG 游戏)......目前它使用标准库方法,但将来可能会改变。

编码:

我使用它的当前代码:

只是想知道这是否是一种好习惯,渴望听到答案。

0 投票
1 回答
136 浏览

php - oop,php,扩展类,调用类中的特定方法时运行函数

首先,关于oop 等,我几乎是个菜鸟,所以请善待。

我确实阅读了很多手册,但不知何故迷失在所有的东西中,找不到答案:(所以任何提示、链接等将不胜感激

无论如何,我发现自己处于需要在执行类中的特定方法时调用函数的情况。但是,我不能碰课堂本身。

为了演示,这个类是这样的:

/ **编辑*** /

根据下面的评论,我现在写/添加了以下内容,但它并没有真正按照我希望的方式做事:(

另外 - 我忘了提,抱歉 - Baz 中的方法需要变量($this->cat_parent 等),希望上述内容有意义......?

/ **编辑结束* ** /

每当调用 DBSave 时,我想运行另一个函数,但我不知道该怎么做:( 我尝试了一些扩展类的方法,但它只是出错或一直调用它等等......将不胜感激

如果需要,当然很乐意扩展这个问题

谢谢