我的意思是,除了浏览器之外,当然 - 我正在谈论用HTML和CSS构建本机应用程序 - 而不是Web应用程序,而是真正的本机GUI.
我想知道这样的事情是否存在?
你觉得这样的野兽怎么样?这种系统的优点/缺点是什么?
据我所知,Sencha Touch只是一个javascript库,可让您创建响应多点触控的网站以及您在本机iPhone应用程序中找到的其他功能.所以...你的最终结果是在iPhone上的Safari上访问的,而不是原生的iPhone应用程序.有没有办法将其转换为本机应用程序?
我已经移植并创建了几个Android级别的低级C库,供我在我的应用程序中使用.我使用NDK交叉编译它们,然后使用System.loadLibrary()链接到它们.经过一段时间后,我的应用程序崩溃,似乎是由于库中的错误:
07-28 11:31:21.675: INFO/DEBUG(2880): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-28 11:31:21.675: INFO/DEBUG(2880): Build fingerprint: 'verizon/voles/sholes/sholes:2.2.2/FRG83G/91102:user/release-keys'
07-28 11:31:21.675: INFO/DEBUG(2880): pid: 2893, tid: 2894 >>> com.gnychis.coexisyst <<<
07-28 11:31:21.675: INFO/DEBUG(2880): signal 11 (SIGSEGV), fault addr 2d4eedb4
07-28 11:31:21.675: INFO/DEBUG(2880): r0 2d4eeda4 r1 00000000 r2 00000024 r3 00000000
07-28 11:31:21.675: INFO/DEBUG(2880): r4 00d3e770 r5 00000000 r6 4184ff98 r7 4184ffa4
07-28 11:31:21.675: INFO/DEBUG(2880): r8 100ffad0 r9 4184ff9c 10 4184ff84 fp 100ffe30
07-28 11:31:21.675: …Run Code Online (Sandbox Code Playgroud) 我需要通过Safari(上下文令牌)设置一些上下文,然后从本机iOS应用程序中读取该上下文.这样做的最佳做法是什么?
到目前为止有几个想法:
Windows 原生替代品ln -s是mklink.
是否有任何原生替代品readlink?或者如何本地识别文件是否是符号链接?
我为数据集提供哈希以指纹数据并通过哈希识别它 - 这是快速哈希(如SHA1和MD5)的核心用例.
在.Net中,可以选择使用其中一些哈希的本机或托管实现(无论如何都是SHA变体).我正在寻找一个MD5托管实现,并且.Net Framework中似乎没有.但是想知道包装的原生CSP是否更快,如果我应该只使用它内容那么就没有了使用它的问题.对于为什么.NET框架中没有托管MD5实现的最佳答案?表示更快的性能可能是托管变体不存在的原因.
这是真的,如果是这样,原生CSP的速度有多快?
我正在用HTML5制作游戏.我最熟悉HTML5,而不是更喜欢高级语言,比如C++.HTML5是一个用于编写游戏的绝佳平台.我唯一的问题是我想将我的游戏作为本机应用程序运行(你可以启动没有互联网浏览器功能,全屏等),但我不知道有什么用.我环顾四周,找到了MOBILE平台(如PhoneGap),但没有桌面(如Windows,Mac和Linux).最终,尽我所能地搜索,我找到了TideSDK.TideSDK类似于PhoneGap,但适用于计算机操作系统,并且可以在所有三种流行的(Windows,Mac和Linux)上运行.然而,TideSDK并没有足够快地运行游戏.它不支持window.requestAnimationFrame,因此为游戏循环执行setInterval使得它非常慢.这么慢,我猜它是2或3 FPS.我在Chrome上尝试了完全相同的游戏,它运行正常.
有没有我可以使用的替代方案,对HTML5游戏来说足够快?(我不想通过XCode [和其他平台上的其他IDE]来制作Webkit框架,它不是真正的跨平台,而且非常耗时.如果我不得不这样做,我会这样做)我运行的系统,我使用Mac(OSX 10.8,Mountain Lion),但我可以访问Windows 7和Ubuntu 12.04 32位.
嗨,我正在尝试获取Erlang NIF(本机实现函数)的Hello World示例,这里显示的是 http://www.erlang.org/doc/man/erl_nif.html ,可以在OSX 64位上使用Elixir.
首先我创建C代码:
/* niftest.c */
#include "erl_nif.h"
static ERL_NIF_TERM hello(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{
return enif_make_string(env, "Hello world!", ERL_NIF_LATIN1);
}
static ErlNifFunc nif_funcs[] =
{
{"hello", 0, hello}
};
ERL_NIF_INIT(niftest,nif_funcs,NULL,NULL,NULL,NULL)
Run Code Online (Sandbox Code Playgroud)
然后我使用gcc64位架构成功编译它,如
Erlang NIF测试 - OS X Lion所示
gcc -undefined dynamic_lookup -dynamiclib niftest.c -o niftest.so -I /usr/local/Cellar/erlang/R14B02/lib/erlang/usr/include
Run Code Online (Sandbox Code Playgroud)
它产生了niftest.so我应该能够从Erlang/Elixir接口的必要文件.我的Elixir(niftest.ex)看起来像这样(灵感来自这里报告的更复杂的例子):
defmodule Niftest do
@onload :init
def init() do
:erlang.load_nif("./niftest", 0)
:ok
end
def hello() do …Run Code Online (Sandbox Code Playgroud) 我试图在Android中挂钩本机库.基本上我试图挂钩libjavacore.so文件中的套接字调用.
这里提到的类似方法
例如:
获取套接字地址(dlsym())libc.so.
然后搜索套接字地址在libjavacore.so像部分文件.got,.plt,.dlsym,.dynamic.
将实际套接字地址替换为内存中实际套接字地址所在位置的自定义套接字地址.
对于32位Android设备,上述方法适用于我.但对于64位Android设备,我不适合我.尝试使用适当的数据类型,uint_ptr以便它将自动调整.但仍然失败.当我进一步调试时发现该libjavacore.so文件是在64位系统上运行的32位ELF.因此,尝试使用uint32_t和uint64_t类型并尝试两者.但仍然失败.
在kotlin native中有memScoped函数,当控制超出范围时,它会自动释放已分配的内存.有没有像本地对象的析构函数?
native ×10
android ×2
html5 ×2
.net ×1
android-ndk ×1
cmd ×1
css ×1
debugging ×1
elixir ×1
erlang ×1
erlang-nif ×1
extjs ×1
frameworks ×1
hook ×1
html ×1
ios ×1
iphone ×1
javascript ×1
kotlin ×1
macos ×1
md5 ×1
performance ×1
sencha-touch ×1
sha ×1
sockets ×1
symlink ×1
windows ×1