问题标签 [shared]

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 投票
2 回答
55564 浏览

linux - 使用共享库未定义符号的 Linux 共享库

两个共享库 liba.so 和 libb.so。liba.so 使用 libb.so。所有 c 文件都使用 -fPIC 编译。链接使用-shared。当我们在 liba.so 上调用 dlopen 时,它无法在 libb.so 中找到符号……我们得到“未定义符号”错误。我们可以 dlopen libb.so 没有错误。我们知道 liba 正在查找 libb,因为我们没有收到文件未找到错误。删除 libb.so 时出现文件未找到错误。我们尝试了 -lutil 并没有运气。

有任何想法吗????

哦耶。GCC 4.1.2

更新:我们在链接 liba 时使用 rpath,以便它可以找到 libb。

ldd liba.so 返回:

libb末尾没有.#是否有意义???

0 投票
6 回答
2221 浏览

c++ - 在不同步的情况下读写 SysV 共享内存(使用信号量、C/C++、Linux)

我使用 SysV 共享内存让两个进程相互通信。我不希望代码变得复杂,所以我想知道我是否真的必须使用信号量来同步对共享内存的访问。在我的 C/C++ 程序中,父进程从共享内存读取,子进程写入共享内存。我写了两个测试应用程序,看看我是否可以产生某种错误,比如分段错误,但我不能(Ubuntu 10.04 64bit)。即使两个进程在 while 循环中不停地写入同一共享内存也不会产生任何错误。

我希望有人有这方面的经验,可以告诉我是否真的必须使用信号量来同步访问,或者我是否可以不同步。

谢谢

0 投票
1 回答
15331 浏览

c++ - gcc -l 选项和 .la 库文件

您能否解释一下,如何使用 -l 选项与 .la 文件进行链接?

据我的经验 - 我只链接到静态库(.a)文件。

现在我查看了一些 Qt 生成的 Makefiles 并且无法弄清楚,当指定 -l QtCore 开关而不是寻找 libQtCore.a 时,链接器如何计算出使用/打开 libQtCore.la 文件。

此外 - gcc 手册指出,-l[library name] 开关将包括 lib[library name].a,而不是 lib[libraryname].la。

0 投票
4 回答
2333 浏览

android - Android ==> 偏好?

我的应用程序因以下代码中的空指针异常而崩溃。我在 res/xml/defaults.xml 下有一个 xml 首选项文件知道它为什么会崩溃吗?

0 投票
3 回答
6867 浏览

xml - 用户首选项文件与应用首选项文件

我的 android 应用程序有两种偏好:

1) 我在 res/xml/preferences.xml 中定义了用户首选项,以便用户可以使用 PreferenceActivity 管理他们的首选项。

2) 我想为我的应用程序的全局配置首选项定义另一个文件。

管理我的应用配置偏好的最佳方式是什么?我应该使用配置值创建另一个 XML 文件,还是应该在 strings.xml 中指定这些配置值?管理配置首选项的最佳做法是什么?

0 投票
1 回答
80 浏览

file - 小程序和浏览器共享缓存吗?

我有一个使用 csv 文件的第三方小程序,我们称之为它file.csv,并使用所有列。我还有一个第三方 swf 对象,它使用file.csv但仅使用 20% 的列。最初的决定是对两者使用相同的文件,因为这样会更容易维护。

我的问题是,file.csv浏览器是否会下载一次并由 applet 和 swf 共享,或者 applet 和 swf 是否都在下载自己的副本file.csv

这很重要,因为这file.csv是一个大文件,如果用户必须下载两次,维护两个版本将节省带宽。

使用 Firebug,CSV 只列出一次。但是,当我删除 swf 时,小程序仍然可以获取file.csv,但它没有在 Firebug 中列出。

0 投票
2 回答
519 浏览

unix - *nix 系统范围的线程和进程互斥锁

我有一些资源,我想保护它们免受同一进程中的线程和不同进程之间的并发使用。在 *nix 中“正确”的做法是什么?

例如,我们想从多线程应用程序中写入文件,该应用程序有时会分叉一些子进程。如何保证每个线程在一段时间内对文件有独占访问权?我正在寻找一个普遍的答案,而不是仅适用于写入文件的东西,因为它也可能是共享内存段等。

0 投票
2 回答
459 浏览

objective-c - 在共享的objective-c方法中获取类类型?

在 Objective-C 中有 Alloc/Init 隐喻。他们还添加了一个名为“new”的共享便捷方法,它在内部只是连续调用两者。如果我创建一个名为 FooClass 的 NSObject 子类,FooClass 会选择那些共享方法,包括“新”。

但是......这到底是如何实现的?

它不能简单地委托给基类,因为这只会实例化 NSObject 的实例,而不是您的派生类 FooClass,但它仍然有效!那么有人会如何写类似的东西呢?

换句话说,基类不应该是这个......

而是这个...

...其中“SomethingThatMapsToFooClassType”是从 NSObject 继承的派生类的类型,需要获取共享方法“somethingLikeNew”。

基本上我在 NSObject 之外添加一个类别,并且我有需要知道类型的共享方法,但是实现都是通用的,因此进入 NSObject 的一个类别,而不是在我的类文件中的所有地方(同样的方式你没有到处都是“新的”。它就在那里。)

任何人?布勒?布勒?

0 投票
3 回答
16400 浏览

c++ - 在 Windows 上同时使用 .so 和 .dll

我正在用 C++ 在 windows 中编写一个程序,在该程序中,用户将能够以动态链接库 (windows) 或共享对象文件 (linux) 的形式编译扩展。

在 Windows 上,您使用该LoadLibrary函数来加载 dll。是否可以对 Windows 上的 .so 文件执行相同的操作,反之亦然,在 linux 上加载 .dlls?

0 投票
5 回答
77608 浏览

git - 如何将现有的 git 存储库配置为由 UNIX 组共享

我有一个现有的 git repo(一个空的),到目前为止只有我可以写。我想向某个 UNIX 用户组 foo 开放它,以便 foo 的所有成员都可以推送到它。我知道我可以通过以下方式轻松设置的git 存储库:

但是我需要对现有的repo 目录进行等效的操作。