草庐IT

shared-libraries

全部标签

c++ - 作弊 Linux : executables and dependent libraries via LD_PRELOAD

对标题感到抱歉,真的想不出其他任何东西来描述这个问题:)好的,事情是这样的:我正在尝试在Linux下使用专有的免费软件应用程序(因此出现了问题;如果我有源代码,我可以重建它)。此外,我试图在不受支持的Linux版本上运行它,并且应用程序的几乎所有组件都单独工作,但不能一起工作(如果应用程序完全运行,它们应该如此)。让我澄清一下。有一个GUI,可以在不受支持的操作系统中正常启动。然后,从这个GUI中,您可以调用一堆命令行工具-有用的是,GUI还会吐出在每种情况下调用的命令行。现在,从GUI调用其中一些命令失败了-然而,因为我调用了实际的命令行(假设:“extprogram-arg11-a

c++ - 作弊 Linux : executables and dependent libraries via LD_PRELOAD

对标题感到抱歉,真的想不出其他任何东西来描述这个问题:)好的,事情是这样的:我正在尝试在Linux下使用专有的免费软件应用程序(因此出现了问题;如果我有源代码,我可以重建它)。此外,我试图在不受支持的Linux版本上运行它,并且应用程序的几乎所有组件都单独工作,但不能一起工作(如果应用程序完全运行,它们应该如此)。让我澄清一下。有一个GUI,可以在不受支持的操作系统中正常启动。然后,从这个GUI中,您可以调用一堆命令行工具-有用的是,GUI还会吐出在每种情况下调用的命令行。现在,从GUI调用其中一些命令失败了-然而,因为我调用了实际的命令行(假设:“extprogram-arg11-a

C盘清理:Autodesk Shared文件夹转移

    今天在安装Maya的时候,在安装过程中明明已经修改了安装位置到非C盘,但是安装完成之后发现C盘还是少了好几个G的内存,到C盘仔细一看,发现出现了好几个Autodesk相关的文件夹,而且都还挺大。    事实上,像一些软件(VisualStudio、3dsMax等),虽然在安装过程中修改了安装路径,但是仍然会有很多文件会默认安装到C盘。    那么有没有可能将这些文件转移到非C盘呢?    直接剪切然后粘贴到其它盘?这肯定是不行的,有可能会导致软件无法启动等各种问题。    在上网查询各种方法之后,成功通过一种“软链接”的方式实现了C盘“大瘦身”。接下来就分享一下如何通过软链接的方式将C

c++ - 还使用 C++ 静态初始化器时的 Linux 共享库初始化和取消初始化

我想要自动调用来初始化和取消初始化我的共享库。在我的共享库中,由于使用了第三方代码(例如UnitTest++),我需要对C++对象进行一些静态初始化。当我的init函数被执行时,我需要得到保证,C++对象(所有链接的翻译单元)的所有静态初始化都已完成(对于deinit反之亦然);因此与C++程序中main()的执行预期的条件相同。我看过很多关于linux共享库init/deinit的信息,例如喜欢:AutomaticallyexecutedfunctionswhenloadingsharedlibrariesHowtoinitializeasharedlibraryonLinuxhtt

c++ - 还使用 C++ 静态初始化器时的 Linux 共享库初始化和取消初始化

我想要自动调用来初始化和取消初始化我的共享库。在我的共享库中,由于使用了第三方代码(例如UnitTest++),我需要对C++对象进行一些静态初始化。当我的init函数被执行时,我需要得到保证,C++对象(所有链接的翻译单元)的所有静态初始化都已完成(对于deinit反之亦然);因此与C++程序中main()的执行预期的条件相同。我看过很多关于linux共享库init/deinit的信息,例如喜欢:AutomaticallyexecutedfunctionswhenloadingsharedlibrariesHowtoinitializeasharedlibraryonLinuxhtt

linux - 如何将 libc.a 链接到 arm-linux 中的共享库中使用 arm-none-linux-gnueabi-gcc

在一个项目中,我的同事创建了一个静态库,例如liba.a,它与应用程序链接。在liba.a中,他将libcmalloc()覆盖为他的所有者版本。我创建了一个共享库libs.so,它也与应用链接。问题是当我的libs.so与应用程序链接时,我的libs.so中使用的malloc()将是liba.a中的那个,不是标准libc.so中的那个,这会导致问题。然后,我想将libc.a静态链接到我的libs.so,我为gcc使用了-static-shared-fPIcflags。但我总是得到arm-2012.03/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.

linux - 如何将 libc.a 链接到 arm-linux 中的共享库中使用 arm-none-linux-gnueabi-gcc

在一个项目中,我的同事创建了一个静态库,例如liba.a,它与应用程序链接。在liba.a中,他将libcmalloc()覆盖为他的所有者版本。我创建了一个共享库libs.so,它也与应用链接。问题是当我的libs.so与应用程序链接时,我的libs.so中使用的malloc()将是liba.a中的那个,不是标准libc.so中的那个,这会导致问题。然后,我想将libc.a静态链接到我的libs.so,我为gcc使用了-static-shared-fPIcflags。但我总是得到arm-2012.03/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.

java - 在 Linux 上使用 Bundle-NativeCode 不起作用

我创建了一个包含以下文件夹结构的插件:来源native/so/libsystemcommand.soMETA-INF/MANIFEST.MFlist包括命令Manifest-Version:1.0Bundle-ManifestVersion:2Bundle-Name:CommandsPlug-inBundle-SymbolicName:de.system.commands;singleton:=trueBundle-Version:1.0.0Bundle-Activator:de.system.commands.CommandsPluginBundle-Localization:plu

java - 在 Linux 上使用 Bundle-NativeCode 不起作用

我创建了一个包含以下文件夹结构的插件:来源native/so/libsystemcommand.soMETA-INF/MANIFEST.MFlist包括命令Manifest-Version:1.0Bundle-ManifestVersion:2Bundle-Name:CommandsPlug-inBundle-SymbolicName:de.system.commands;singleton:=trueBundle-Version:1.0.0Bundle-Activator:de.system.commands.CommandsPluginBundle-Localization:plu

linux - LD_LIBRARY_PATH 优先级

我刚刚偶然发现了一些奇怪的行为:在我启动我的应用程序之前,我将LD_LIBRARY_PATH设置为某个包含所有需要的库的本地库目录。启动后,我有一部分(大部分)库是从LD_LIBRARY_PATH加载的,但有一些是从标准/usr/lib(例如/usr/lib/libQtNetwork.so.4、/usr/lib/libSM.so.6).所有这些库都包含在LD_LIBRARY_PATH中列出的目录中。谁能解释为什么我有这种行为?我对Linux世界不是很熟悉,但是thisarticle说我的方法应该有效附言如果我将/usr/libs重命名为其他名称,我将运行我的应用程序,并使用从我的库位置