问题标签 [shared-libraries]
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.
c++ - Linux 上的 C++ 动态共享库
我正在尝试在 Linux 上用 C++ 创建一个共享类库。我能够编译库,并且可以使用我在此处和此处找到的教程调用一些(非类)函数。当我尝试使用库中定义的类时,我的问题就开始了。我链接到的第二个教程展示了如何加载符号以创建库中定义的类的对象,但没有使用这些对象来完成任何工作。
有谁知道创建共享 C++ 类库的更完整的教程,该教程还展示了如何在单独的可执行文件中使用这些类?一个非常简单的教程,展示了对象的创建、使用(简单的 getter 和 setter 就可以了),以及删除会很棒。说明使用共享类库的一些开放源代码的链接或引用也同样好。
尽管codelogic和nimrodm的答案确实有效,但我只想补充一点,自从提出这个问题后,我拿起了一份《Beginning Linux Programming 》的副本,它的第一章有示例 C 代码以及创建和使用静态库和共享库的很好的解释. 这些示例可通过 Google 图书搜索在该书的旧版本中找到。
tags - SO 标签排序是否很好地代表了编程语言的流行度?
SO 标签排序是否很好地代表了编程语言的流行度?
我的第一个猜测是它不是,它主要由 Jeff 的粉丝(他们可能会偏向 .Net)和 Joel 的粉丝(他们可能更偏向于 C/C++)。
有没有办法获得公正的编程语言流行度统计数据?
shared-libraries - 您如何促进在您的组织中使用共享组件?
如果您的公司或项目强调(或至少赞赏)可在项目之间重用和共享的代码和组件的开发,那么您需要做哪些“社会工程”来促进重用编码?
根据我的经验,除非有人支持或宣传该代码,否则不会重复使用简单地称为“可重用”的代码或组件。否则,人们根本不会知道它。
您如何确保共享组件或可重用代码在您的组织中工作?
c++ - 如何将 c++ dll 文件加载到 Matlab 中
我有一个 C++ dll 文件,它使用了许多需要加载到 matlab 中的其他 c++ 库(IPP、Opencv +++)。我怎样才能做到这一点?
我试过loadlibrary和mex。加载库不起作用。
mex 找到 linux 的东西(独立于平台的库)并尝试包含它们。那是行不通的。
有没有人有什么好主意?
sharepoint - 报告 SharePoint 中的工作流
有没有办法在 SharePoint 中创建报告,我可以在其中查看所有当前工作流和每个工作流的状态?
编辑:我需要能够有一个列表或其他东西,我可以在我的 SharePoint 网站中查看我的所有工作流以及状态等。
linker - 等效于 GNU LD --export-dynamic 标志的 Solaris 链接器
就像问题所说:我们正在使用 GNU 链接器在 Linux 上构建,并在 Solaris 上使用 solaris ld
。GNUld
支持以下--export-dynamic
标志:
创建动态链接的可执行文件时,将所有符号添加到动态符号表中。动态符号表是在运行时从动态对象可见的符号集。
使用 solaris 链接器的这个标志的等价物是什么? 有没有等价物?
macos - 使用 Autoconf 在 Mac 上检测 32 位与 64 位 Intel CPU
我正在为应该在 32 位和 64 位 Linux 和 Mac 上运行的项目开发 Autoconf 脚本。在 Linux 上,检测 64 位很容易:你得到x86_64
而不是i386
for build_cpu
. 我不知道如何为 Mac 做到这一点:32 位和 64 位机器都i386
提供build_cpu
. 有没有办法使用 Autoconf 内置函数来检测差异?
额外问题:在 64 位 CPU 上,是否有比以下方法更好的方法来以编程方式检测二进制文件是 32 位还是 64 位?
java - 如何让 Netbeans 6.5 可共享库正常工作
我在 Netbeans 6.5 中创建了一个 Web 应用程序。现在我想使用 Joda Time 库。我想通过 subversion 共享这个库,因为我不希望我的队友依赖于某些 Netbeans 配置。
为了让项目正常工作,我首先将该库添加到 Netbeans 库(工具->库)。这工作正常。JAR 被添加到类路径中,并且也被部署。
但是当我创建一个共享库(通过项目属性->库->浏览/新建库文件夹)时,JAR 不在类路径中。我收到package org.joda.time does not exist
有关代码的错误消息import org.joda.time.*
。
有任何想法吗?
unix - 共享库术语
“共享库文本”和“共享库数据”有什么区别?另外,共享库数据“预重定位”是什么意思?这个问题涉及到一些涉及共享库的特定于 AIX 的特性。
c - 将静态库转换为共享库?
我有一个第三方库,主要由大量静态(.a
)库文件组成。我可以把它编译成一个单一的.a
库文件,但我真的需要它是一个单一的.so
共享库文件。
有没有办法将静态.a
文件转换为共享.so
文件?或者更一般地说,有没有一种好方法可以将大量静态.a
文件与几个.o
目标文件组合成一个.so
文件?