如果有什么,那么xml有多深入语言?什么原语用于操作xml文档?
PS.我对SQL,XPath,XSLT等声明性语言不感兴趣
我正在尝试使用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) 我想在我的浏览器插件中使用Qt,但我没有创建自己的窗口,浏览器也是如此.
我想做的是创建一个QWidget作为本机窗口句柄的子项......这可能吗?
我无法使用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) 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.
这个功能到底在做什么?
我正在尝试使用本机函数处理从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");
我在网上搜索后立即看到崩溃信号,并看到大多数人说这是分段错误,可能是由于调用未初始化的函数或不存在的函数引起的。但是浏览我的代码,我什么都找不到。有指针吗?
存在一些问题,如何检测HTML页正在作为Phonegap应用程序在设备中运行。
还有其他解决方案吗?因为我在编译应用程序之前在本地运行开发HTML文件,所以这3个命令都不适合我,因此它将检测到1)。和2)。会开火3)。确实是FILE协议。
Xamarin Mac有一个名为Native References的文件夹.但是,在添加本机静态库(.a)时,它似乎绝对没有.理想情况下,我想通过使用DllImport("__ Internal"....)来使用T导出的方法.
我怎样才能让它发挥作用?
我需要构建一个涉及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) 我正在寻找加速我的灵药程序中"紧密循环"的方法.
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等编译语言相当 - 而且速度要慢一些.我真正的瓶颈似乎是将该循环的输出发送到另一个进程 - 特别是当这种情况发生在网络上的节点之间时.
感谢所有表现出兴趣的人.