小编jvm*_*ate的帖子

使用相对路径名从不同目录加载JNI库的可移植语句?

是否有一个独立于平台的Java语句来从与Java源代码不同的目录中加载本机库?我想用这样的东西:

public class HelloWorld {
    static {
        System.loadLibrary("../some_project/HelloWorld");
    }

    public static native void print();
}
Run Code Online (Sandbox Code Playgroud)

问题是System.loadLibrary()不支持pathname参数中的目录分隔符.另外,不幸的是,System.load()需要一个绝对路径名,这不仅意味着我不能像上面那样指定一个相对目录(我想做),但它还要求参数包括,例如,前面的Linux系统上JNI库名称的"lib"和".so"扩展名.

有没有一种标准的处理方式?如果可能的话,我想避免编写一堆依赖于平台的Java代码来构造正确的JNI库名.

java java-native-interface loadlibrary

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

gdb 如何实现结构体的打印?

gdb 如何打印结构?来自 zengr 在gdb 如何工作时引用的“GDB Internals”文档看起来 GDB 使用 BFD 库从一个或多个符号表加载符号。如果是这种情况,gdb 怎么知道如何打印结构体?包含打印算法的 gdb 源代码文件的名称将不胜感激(我试图自己找到但找不到)。

gdb

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

为什么这个类似python的ruby脚本不起作用?

我对Ruby中的作用域如何工作感到困惑.哪些Ruby作用域规则阻止以下代码打印出x的值?

#!/usr/bin/ruby

x = 5
def test
    puts "x = #{x}"
end

test    # => undefined local variable or method `x' for main:Object
Run Code Online (Sandbox Code Playgroud)

等效的Python脚本会打印x的值:

#!/usr/bin/python

x = 5
def test():
    print "x = %s" % x

test()  # => x = 5
Run Code Online (Sandbox Code Playgroud)

ruby python scope

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

标签 统计

gdb ×1

java ×1

java-native-interface ×1

loadlibrary ×1

python ×1

ruby ×1

scope ×1