问题标签 [c-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.
android - 在 Android 应用上使用 libdvbpsi 获取 EPG 信息
我正在开发一个应用程序以在带有 Android 的机顶盒上运行。这个应用程序有一个媒体播放器来播放多播 IPTV 流。我按照官方的 java_sample 使用 LibVLC 和VLCVideoLayout。我想获取 EPG 信息,似乎libdvbpsi可以完成这项工作。但它是一个 C 库,我不知道如何将它导入我的 Android 应用程序。
我找到了这个用于 android 库的 libdvbpsi,但我不明白如何使用它。
我的开发环境:
- 视窗 10 专业版。
- 安卓工作室 4.1.2。
那么如何在 Android 应用上使用 libdvbpsi 呢?
go - 链接反对静态 32 位第 3 方库
我正在使用下面的标志
当我编译时
编译器因错误而失败
这意味着它发现 libcluto.a 不兼容,因为它是一个 32 位库,而我的系统正在编译 Go 到 amd64 架构。
但是当我编译时
在定义了“import "C"”的同一源文件中定义的方法被简单地忽略。
我检查了反射,该方法不存在:
上面的代码产生以下输出:
在我看来,当我设置 GOARCH=386 时,它会禁用 CGO,默默地忽略任何引用 C 符号的代码。
那么,如何将 Go 静态链接到 32 位 (.a) 库?
python - 在 ProQuest 的 TDM Studio(使用 AWS SageMaker 服务器)中安装附魔 C 库
我在 AWS SageMaker 中安装安装附魔 C 库时遇到问题。我按照以下步骤操作(我使用 os.system 将命令从 jupyter-notebook -in python language- 发送到终端,并使用 os.popen -for got outputs of terminal- ):
(1)要求“附魔 C 库”回购:
上一个片段的答案是:
(2) 安装 enchant-1.6.0-5.2.amzn1.x86_64 包:
上一个片段的答案是:
所以,最后一步就足以安装附魔 C 库,但是当我尝试在 python 中导入附魔时,我得到以下输出:
java - JNA 的行为与我的 C# 对应物不同,为什么?
我正在为一块硬件开发一些东西,并且我有一个 C 库来与硬件通信。我有向硬件发送信号的方法(比如打开灯泡),并且使用 JNA 在 C# 和 Java 上都可以正常工作。
该机器还有一个可按下的按钮,当按下该按钮时,它将记录一个信号,该信号可以通过称为 A 的方法检索。
预期的工作方式是创建一个新线程,该线程一直调用此方法,直到它返回 1 在这种情况下,它将获得有关按钮按下的信息。
我已经使用以下代码在 C# 中工作:
在 C# 中导入该方法的位置,例如:
我希望这段代码也能在 Java 上工作。不幸的是,当我使用 java 运行它时,它永远不会返回 1,这与 C# 实现不同。
我想知道我是否做错了什么,因为我没有使用 JNA 的经验。在Java中,我导入这样的方法:
我尝试像这样运行代码:
在我拥有的有关此方法的文档中,它在 C 中定义,例如:
有谁知道为什么 C# 示例有效但 Java 示例无效?
--编辑 25-08-2021 12:04
文档说使用了提供给该方法的参数。所以我想如果它们以某种方式为空,该方法将不会返回任何东西。也许使用 ByReference 对象的初始化是错误的?
--编辑 26-08-2021
我得到了 C++ 签名,它是:
c++ - 将 unique_ptr()::get() 返回的原始指针传递给以双指针作为函数参数的函数
代码编辑:https ://gcc.godbolt.org/z/x3hnj46WY
场景 -1 试图通过引用(或指针)传递原始指针无法使用 & 将 get() 的值传递给 setBuffer() // 编译错误:lvalue required as unary '&' 操作数
场景 -2 通过获取原始字符指针分配值返回 使用 & 将字符指针传递给 setBuffer()
注意:setBuffer() 存在于 C 库中我正在使用此 API https://www.libssh2.org/libssh2_session_last_error.html来获取 errmsg,而不是使用 char 数组缓冲区,我想使用 char 数组的智能指针。