标签: native

是否存在本地支持xml的编程语言?

如果有什么,那么xml有多深入语言?什么原语用于操作xml文档?

PS.我对SQL,XPath,XSLT等声明性语言不感兴趣

xml programming-languages native

5
推荐指数
2
解决办法
444
查看次数

swig java中的简单类型映射示例

我正在尝试使用swig包装本机C++库,并且我一直试图time_t在C中转换为longJava.我已成功使用swig与python,但到目前为止,我无法让上面的typemap在Java中工作.在python中它看起来像这样

%typemap(in) time_t
{
    if (PyLong_Check($input))
        $1 = (time_t) PyLong_AsLong($input);
    else if (PyInt_Check($input))
        $1 = (time_t) PyInt_AsLong($input);
    else if (PyFloat_Check($input))
        $1 = (time_t) PyFloat_AsDouble($input);
    else {
        PyErr_SetString(PyExc_TypeError,"Expected a large number");
        return NULL;
    }
}

%typemap(out) time_t
{
    $result = PyLong_FromLong((long)$1);
}
Run Code Online (Sandbox Code Playgroud)

我想从Java到C的地图将是:

%typemap(in) time_t {
    $1 = (time_t) $input;
}
Run Code Online (Sandbox Code Playgroud)

我如何完成从C到Java的外图?

%typemap(out) time_t ???
Run Code Online (Sandbox Code Playgroud)

我需要像下面那样的打字机吗?

%typemap(jni) 
%typemap(jtype) 
%typemap(jstype) 
Run Code Online (Sandbox Code Playgroud)

我需要这个来包装像这样的C函数:

time_t manipulate_time (time_t dt);
Run Code Online (Sandbox Code Playgroud)

java java-native-interface swig native

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

是否可以将QWidget声明为在Qt之外创建的窗口的子项?

我想在我的浏览器插件中使用Qt,但我没有创建自己的窗口,浏览器也是如此.

我想做的是创建一个QWidget作为本机窗口句柄的子项......这可能吗?

qt native window handle

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

Gdb在android上调试本机(而不是jni)程序

我无法使用NDK工具链调试本机程序.以下是我的详细步骤和输出.

环境设定:

NDK_ROOT=/opt/android/ndk
SYSROOT=$NDK_ROOT/platforms/android-8/arch-arm
TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
PATH=$TOOLCHAIN:$NDK_ROOT:$PATH
Run Code Online (Sandbox Code Playgroud)

来源:hello.c

 1    #include <stdio.h>
 2   
 3    int main() {
 4      printf("Hello World!\n");
 5      return 0;
 6    }
Run Code Online (Sandbox Code Playgroud)

由NDK提供的独立工具链构建.

#arm-linux-androideabi-gcc -g hello.c -o hello --sysroot $SYSROOT 
Run Code Online (Sandbox Code Playgroud)

推送到模拟器并启动gdbserver(我已转发端口)

#adb push hello /data/hello
#adb shell gdbserver 10.0.2.15:10000 /data/hello
Run Code Online (Sandbox Code Playgroud)

在另一个终端远程调试:

#arm-linux-androideabi-gdb
#(gdb) target remote localhost:10000
Remote debugging using :10000
0xb0001000 in ?? ()       ------------------------------------what is this?
#(gdb) symbol-file hello
Reading symbols from hello...done.
#(gdb) l
1    #include <stdio.h>
2   
3    int main() {
4      printf("Hello World!\n");
5      return …
Run Code Online (Sandbox Code Playgroud)

android gdb native

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

原生Float.floatToRawIntBits(浮点值)的输出是什么?

JRE文档声明了本机函数Float.floatToRawIntBits(Float value)......

根据IEEE 754浮点"单一格式"位布局返回指定浮点值的表示形式,保留非数字(NaN)值.

什么是"single format"位布局?我从来没有听过这个表达.

我举了一个例子:

float f = 1;
System.out.println(Float.floatToRawIntBits(f));
Run Code Online (Sandbox Code Playgroud)

哪个输出1065353216.

这个功能到底在做什么?

java floating-point int native

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

SIGNAL 11 SIGSEGV code = 2 Android崩溃

我正在尝试使用本机函数处理从MediaMetadataretriever抓取的帧中的位图。但我却死机了

SIGNAL 11 (SIGSEGV) at 0x422d8f20 (code=2)
SIGNAL 11 (SIGSEGV) at 0x42311320 (code=2)
Run Code Online (Sandbox Code Playgroud)

我尝试进行日志记录,以查看问题所在。当我调用本机函数时,它似乎崩溃了。下面是我调用的本机函数。

 protected Bitmap processFrame(Bitmap l_frame) {
    WarnC='a';
    int[] rgba = mRGBA;
    byte[] src_array =stream;
    ByteArrayOutputStream src_stream = new ByteArrayOutputStream();
    l_frame.compress(Bitmap.CompressFormat.PNG, 0, src_stream);
    src_array = src_stream.toByteArray();   
Log.i("test", "ok");
    WarnC= processcaller.LaneDetection(mFrameWidth, mFrameHeight, src_array, rgba);
    Bitmap bmp = g_frame; 
    bmp.setPixels(rgba, 0/* offset */, mFrameWidth /* stride */, 0, 0, mFrameWidth,mFrameHeight);  
    rgba =null;
    src_array=null;
    return bmp;
}
Run Code Online (Sandbox Code Playgroud)

Log.i("test","ok"); 我在网上搜索后立即看到崩溃信号,并看到大多数人说这是分段错误,可能是由于调用未初始化的函数或不存在的函数引起的。但是浏览我的代码,我什么都找不到。有指针吗?

android opencv native

5
推荐指数
0
解决办法
4053
查看次数

检测是否在PhoneGap / Cordova内部运行

存在一些问题,如何检测HTML页正在作为Phonegap应用程序在设备中运行。

大多数解决方案(在这里这里)都是

  1. 检测浏览器代理是否为iPhone / iPad / Android / Blackberry
  2. 使用“ deviceready”事件来检测是否在设备内部运行。
  3. 使用URL来检测协议是HTTP还是FILE

还有其他解决方案吗?因为我在编译应用程序之前在本地运行开发HTML文件,所以这3个命令都不适合我,因此它将检测到1)。和2)。会开火3)。确实是FILE协议。

native detect cordova

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

如何将本机静态库(.a)添加到Xamarin.Mac项目

Xamarin Mac有一个名为Native References的文件夹.但是,在添加本机静态库(.a)时,它似乎绝对没有.理想情况下,我想通过使用DllImport("__ Internal"....)来使用T导出的方法.

我怎样才能让它发挥作用?

native xamarin

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

使用Maven使用OpenCV构建Java项目

我需要构建一个涉及OpenCV的项目.它会很棒,但由于某种原因,库不会进入java.library.path库.当我尝试使用库运行代码时,我收到此错误:

*java.lang.UnsatisfiedLinkError:java.library.path中没有jniopencv_highgui*

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>ru.intemsys.reget.server</groupId>
  <artifactId>reget-server</artifactId>
  <version>0.1-alpha</version>
  <packaging>jar</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.build.timestamp.format>yyyyMMddhhmm</maven.build.timestamp.format>
    <platform.name>${os.name}-${os.arch}</platform.name>
    <product.year>2014</product.year>
    <jdkVersion>1.6</jdkVersion>
    <javacpp.version>0.7</javacpp.version>
    <javacv.version>0.7</javacv.version>
  </properties>

  <dependencies>
    <dependency>
        <groupId>commons-daemon</groupId>
        <artifactId>commons-daemon</artifactId>
        <version>1.0.10</version>
    </dependency>

      <dependency>
          <groupId>com.googlecode.javacpp</groupId>
          <artifactId>javacpp</artifactId>
          <version>${javacpp.version}</version>
      </dependency>
      <dependency>
          <groupId>com.googlecode.javacv</groupId>
          <artifactId>javacv</artifactId>
          <version>${javacv.version}</version>
      </dependency>
      <dependency>
          <groupId>com.googlecode.javacv</groupId>
          <artifactId>javacv</artifactId>
          <version>${javacv.version}</version>
          <classifier>linux-x86</classifier>
      </dependency>

      <dependency>
          <groupId>com.googlecode.javacv</groupId>
          <artifactId>javacv</artifactId>
          <version>${javacv.version}</version>
          <classifier>linux-x86_64</classifier>
      </dependency>

    <dependency>
        <groupId>com.xeiam.xchart</groupId>
        <artifactId>xchart</artifactId>
        <version>2.3.1</version>
    </dependency>

    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
  </dependencies>

  <repositories>
      <repository>
          <id>javacpp</id>
          <name>JavaCPP</name>
          <url>http://maven2.javacpp.googlecode.com/git/</url>
      </repository>
      <repository>
          <id>javacv</id>
          <name>JavaCV</name>
          <url>http://maven2.javacv.googlecode.com/git/</url>
      </repository>
  </repositories>

  <build> …
Run Code Online (Sandbox Code Playgroud)

java linux opencv native maven

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

Elixir紧密循环加速

我正在寻找加速我的灵药程序中"紧密循环"的方法.

Enum.reduce( list, 0, fn ({c,v},acc) -> v*elem(tuple_array,c) + acc end )
Run Code Online (Sandbox Code Playgroud)

它只是运行一个元组列表,并且每个元素都在执行:元组查找(c是整数),乘法和加法.

我试着插入模块的头部

@compile [:native, {:hipe, [:verbose, :o3]}]
Run Code Online (Sandbox Code Playgroud)

并在macOS上显示它编译本机.然而,当我从iex shell运行代码时,它比以前运行得更慢.我在这里错过了什么吗?

更新2015年5月3日 我现在已经意识到我的紧密循环运行速度几乎与Fortran等编译语言相当 - 而且速度要慢一些.我真正的瓶颈似乎是将该循环的输出发送到另一个进程 - 特别是当这种情况发生在网络上的节点之间时.

感谢所有表现出兴趣的人.

erlang native elixir

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