小编G B*_*G B的帖子

在64位android上使用32位jni库

我尝试在Nexus 9上使用本机库运行应用程序.

应用程序退出并显示错误消息:

java.lang.UnsatisfiedLinkError: dlopen failed: "lib_xyz.so" is 32-bit instead of 64-bit
Run Code Online (Sandbox Code Playgroud)

是否有任何已知的解决方法来解决此问题(当然,重新编译库并使apk更大)?

java-native-interface android 32bit-64bit

28
推荐指数
3
解决办法
3万
查看次数

在swt中提交的多行文本上使用Tab键?

如何防止多行文本字段"窃取"标签键按下?

我的意思是:我想使用TAB在窗口的元素之间循环,但是当我输入多行文本时,TAB变成"普通"键,只需将制表符插入我正在键入的文本中.

我该如何处理?我应该编写一些自定义侦听器,还是可以通过使用SWT常量来更改组件的行为?

java swt tabs text multiline

8
推荐指数
1
解决办法
3018
查看次数

使用jsoncpp创建字符串的JSON数组

我需要在将新文件写入磁盘时更新索引(采用JSON格式),并且由于文件是分类的,我使用的是具有这种结构的对象:

{ "type_1" : [ "file_1", "file_2" ], "type_2" : [ "file_3", "file_4" ] }
Run Code Online (Sandbox Code Playgroud)

我认为这对jsoncpp来说是一项轻松的任务,但我可能会遗漏一些东西.

我的代码(简化)在这里:

std::ifstream idx_i(_index.c_str());
Json::Value root;
Json::Value elements;
if (!idx_i.good()) { // probably doesn't exist
    root[type] = elements = Json::arrayValue;
} else {
    Json::Reader reader;
    reader.parse(idx_i, root, false);
    elements = root[type];
    if (elements.isNull()) {
        root[type] = elements = Json::arrayValue;
    }
    idx_i.close();
}
elements.append(name.c_str()); // <--- HERE LIES THE PROBLEM!!!
std::ofstream idx_o(_index.c_str());
if (idx_o.good()) {
    idx_o << root;
    idx_o.close();
} else {
    Log_ERR << "I/O error, …
Run Code Online (Sandbox Code Playgroud)

c++ arrays json jsoncpp

8
推荐指数
1
解决办法
1万
查看次数

用Java实现3270协议

我遇到了IBM HACL用于访问使用3270协议的服务器的大问题.图书馆总是崩溃,而我们的JNI包装实际上是针对不良实现和不良的记录库中的bug修复层(我怀疑我们已引入新的Bug与它太).而且,在我们公司,每个人都了解Java,如果我们没有JNI-Layer和IBM类库,可以维护软件.

我们必须使用C++类库,因为IBM Java库是不可用的:我们会翻译每个不可打印的字符,并且我们会丢失所有控制字符.

现在的问题是:我们可以放弃这个库并完全用Java实现我们的解决方案(我们想避免使用其他供应商提供的另一个库)吗?该协议是否记录良好?3270-over-ssl的实现真的如此复杂吗?

谢谢.

java ssl 3270

5
推荐指数
1
解决办法
4475
查看次数

哈斯克尔素数

我正在学习Haskell,并且尝试生成无数个素数列表,但是我不明白我的函数在做什么错。

功能:

prime = 2:3:filter (\x -> all (\y -> (mod x y) > 0) (init prime)) [5..]
Run Code Online (Sandbox Code Playgroud)

我认为这是init prime,但是奇怪的是,即使我将范围设置为上限(5..10例如),该函数也会永远循环,并且永远不会获得任何结果prime !! 2

你能告诉我我做错了吗?

primes haskell lazy-evaluation

5
推荐指数
1
解决办法
158
查看次数

BB10从命令行启动应用程序

我按照这里的说明: BB10 Cascades命令行开发

现在我有了一个makefile项目,它可以编译我的应用程序并将其部署到连接的设备上.唯一的问题是,我无法远程启动应用程序.我创建了一个特殊的测试版本,它只是运行一个自动化测试然后退出,所以下一个逻辑步骤是启动应用程序,并等待它退出(如果我可以监视stdout和stderr那将是很好的)或如果需要太长时间就杀掉它.

我想要完成的(避免xy问题)是与我们已经用于其他平台的Jenkins服务器的集成.例如:在Android上我们使用robotium来实现相同程度的集成.

continuous-integration jenkins blackberry-10

4
推荐指数
1
解决办法
411
查看次数

Android 5.0 中静态调用 glGetString() 返回 null

我的应用程序需要在启动之前检查某些 OpenGL ES 功能的可用性。

这是通过以下 Java 代码完成的:

String extensions = GLES20.glGetString( GLES20.GL_EXTENSIONS );
Run Code Online (Sandbox Code Playgroud)

它可以在 Android 4.4 版本之前运行,但现在返回 null,日志显示

10-28 17:53:49.475: E/libEGL(8930): call to OpenGL ES API with no current context (logged once per thread)
Run Code Online (Sandbox Code Playgroud)

在 Android 5.0 上如何获取此信息?我需要创建新的 OpenGL ES 上下文吗?最简单的方法是什么?

java android opengl-es

4
推荐指数
1
解决办法
2117
查看次数

冒号在此ARM NEON代码中的含义是什么

我正在重构一些ARM汇编代码,我发现了这两条指令,但我不明白它们的含义.加载和存储操作在基地址注册后有一个冒号,我在文档中找不到任何内容:

vld4.8      {d0-d3}, [r1,:256]!
vst1.8      {q12}, [r0,:128]!
Run Code Online (Sandbox Code Playgroud)

有谁知道在哪里可以找到所有可能的操作和参数组合的完整文档?

assembly arm simd neon

3
推荐指数
1
解决办法
354
查看次数

在iOS上使用Gas的ARM64?

我已经将一些汇编功能移植到了64位ARM,并且它们在Android上也能正常工作,但是当我尝试在Xcode中编译相同的文件时,我发现clang使用了不同的语法(与官方ARM不同)文档)。

我发现一些脚本可以将源文件从一种格式转换为另一种格式,但这不是理想的解决方案(当源文件包含预处理器定义时,这些脚本似乎不起作用)。

我可以简单地在Xcode中使用gas还是将clang配置为接受gas语法?如果不是,那么clang汇编器文档在哪里?

更新-2015年9月

看来该问题已由XCode 7(新的clang版本?)解决了:现在,我可以导入为Android编写的程序集源文件,并且它们进行编译时无需进行任何更改。

assembly android gnu-assembler ios arm64

3
推荐指数
1
解决办法
1094
查看次数

在OpenCV中围绕x,y,z轴旋转图像

我需要在OpenCV中计算一个扭曲矩阵,表示围绕给定轴的旋转.

绕Z轴 - >直截了当:我使用标准旋转矩阵

[cos(a) -sin(a) 0]
[sin(a)  cos(a) 0]
[    0       0  1]
Run Code Online (Sandbox Code Playgroud)

这对于其他轮换来说并不那么明显,所以我尝试建立单应性,如维基百科上所述:

H = R - t n^T / d
Run Code Online (Sandbox Code Playgroud)

我尝试围绕X轴进行简单的旋转,并假设相机和图像之间的距离是图像高度的两倍.

R是标准旋转矩阵

[1      0       0]
[0 cos(a) -sin(a)]
[0 sin(a)  cos(a)]
Run Code Online (Sandbox Code Playgroud)

n是[0 0 1]因为相机直接从(0,0,z_cam)查看图像

t是翻译,应该是 [0 -2h*(sin(a)) -2h*(1-cos(a))]

d是距离,每个定义2小时.

所以,最终的矩阵是:

[1      0 0]
[0 cos(a) 0]
[0 sin(a) 1]
Run Code Online (Sandbox Code Playgroud)

看起来相当不错,当a = 0时它是一个身份,当a = pi时它围绕x轴镜像.

然而,使用这个矩阵进行透视扭曲不能产生预期的结果,图像对于a的小值只是"太扭曲",并且很快消失.

那么,我做错了什么?

(注意:我已经阅读了很多关于这个主题的问题和答案,但所有都是相反的方向:我不想分解单应矩阵,而是建立一个,给出一个3d变换,并且"修复"相机或固定图像和移动相机).

谢谢.

opencv rotation matrix

1
推荐指数
1
解决办法
6135
查看次数

使用派生类作为模板构造函数

我有一个带有模板构造函数的类:

class TCons {
    template <typename T> TCons(T t);
}
Run Code Online (Sandbox Code Playgroud)

专门从事实施:

template <> TCons::TCons(int i) { doMyStuff(i); }
Run Code Online (Sandbox Code Playgroud)

我还有一个基类的专业化:

template <> TCons::Tcons(TBase &t) { doMyStuff(t); }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用派生对象作为参数初始化TCons对象时,这似乎不起作用.

class TDeriv: public TBase { };
TDeriv td;
TCons tc = td;
Run Code Online (Sandbox Code Playgroud)

我无法使用指针来解决此问题(因为所有内容都包含在宏中).问题出现在链接阶段.

这是错的,还是我错过了什么?

c++ templates

1
推荐指数
1
解决办法
63
查看次数