在Ember从sproutcore分叉之前,我选择了sproutcore作为框架.我不确定哪条路可走,而且由于碎片造成的工作明显稀释而有点沮丧 - 因为很少会导致更好的事情.Sproutcore 2.0(现在的Ember)的努力似乎正朝着模块化和重用其他javasript组件(jQuery)的正确方向发展,但是从外部观点来看,为什么这两个努力必须分裂......才能真正不清楚...我们有模块化代码和小部件库模块吗?
主要问题是:
Xcode 5.1使用Clang 3.4.而Clang 3.4支持C++ 14.
但是,我一直在浏览所有Xcode选项,并没有看到启用C++ 14的方法.
我正在尝试启用C++ 14 的轻松constexpr功能
我看一个需要LCD多点触摸屏,LCD驱动程序,webkit浏览器,Avahi,Web服务器以及用C++编写的引擎的嵌入式项目.
Android乍一看看起来它有大多数正确的组件开箱即用,修改最少......但是对于小内存占用嵌入式设备(128-196MB分钟)而言,使用JVM似乎是重量级的.代码是C++.看起来你不能把JVM拉出去,因为主要的OS组件是用Java运行的(是吗?).
Linux似乎有大部分可以放在一起的部分,没有不必要的瑕疵.以下是主要问题:
我正在尝试使用哈希函数在C中使用基于字符串的开关表达式。我已经能够使用'constexpr'使它与干净的语法一起使用,并且Clang / LLVM转换为C ++,即使代码是C。
但是,将其作为C ++进行编译当然会有一些奇怪的副作用,例如缺少void *隐式转换会变得很尴尬。
因此,问题是如何解决这个难题(为什么不将C11委员会的掌声压在C规范上)
这是我当前的示例代码:
constexpr uint64 cHash(char const* text, uint64 last_value = basis)
{
return *str ? cHash(text+1, (*text ^ last_value) * prime) : last_value;
}
void SwitchFunction(char const* text)
{
switch(Hash(text))
{
case cHash("first"):
break;
case cHash("second"):
break;
case cHash("third"):
break;
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我想测试 android 的 html5/Javascript Web 应用程序,因此我购买了 Nexus 7(第二代),并将操作系统升级到最新的 4.3。
Nexus 的规格比我之前测试的 iPad 2 好很多:
不过,我发现网页上的 Nexus UI 交互速度比 iPad 慢约 5-10 倍。按钮按下、动画等都非常滞后。例如,在 iPad 2 上,从按下到未按下的按钮按下翻转的速度与手指抽动的速度一样快,即使在敲击两根手指时也是如此(大于 5 次/秒)。而 Nexus 明显落后于用户触摸速度,不到 1/秒。事实上,Android/Nexus 速度太慢,有时会错过非触摸事件,使按钮处于按下状态。
我想弄清楚这一点,这是操作系统的限制吗?硬件有问题吗?(虽然这是谷歌自己的设备)Java JVM 开销是否限制了性能?(尽管我认为 Chrome 都是原生的 C/C++)。有解决办法吗?
我运行了浏览器 JavaScript 测试 (Dromaeo),计算结果正如您所期望的那样(较新的快速 Nexus 大约是旧 iPad 速度的 2 倍)。尽管我确实注意到,奇怪的是,iPad 在 DOM 操作测试中的表现优于 Nexus 大约 2 倍,但仍然不如用户体验那么引人注目。
有什么想法吗?
随着 OpenCL 2.0 的推出,OpenCL 似乎具备了 Grand Central Dispatch (GCD) 的许多特性,例如 CLang/Apple 风格的块和队列。查看它们各自的功能集,我想知道 OpenCL 是否可以完成 GCD/libdispatch 可以做的所有事情,但是增加了将计算引导到 GPU 和 CPU 的能力——或者 GCD 是否可以提供更多与众不同的功能来自 OpenCL。
具体我的问题是:
GCD 和 OpenCL 的并发特性有什么区别?
如果一起使用它们有价值(假设 GCD 提供附加功能),C 块是否可以路由到 GCD 队列或 OpenCL 队列?如果以 CPU 为目标,是否有理由通过 OpenCL 与直接运行
OpenCL 2.0 是否提供 GCD 风格的负载平衡,可以填充跨越 CPU 和 GPU 的线程?
concurrency opencl libdispatch grand-central-dispatch objective-c-blocks
我一直在寻找Sproutcore,Ember和Blossom以及其他竞争框架(例如Sencha)来选择HTML5客户端应用程序项目.这些项目的状态,信息和文档有点分散,需要清晰,所以我向社区提出这个问题.
我的项目是一个类似本机的HTML5应用程序,其桌面级复杂性需要一个完整的应用程序框架,它可以很好地在桌面上运行,并且可以在具有触摸感知功能的移动设备上以极快的速度运行.小部件应该是原生的(不是类似Web的),但可以自定义,以便应用程序是唯一的.
问题/框架要求:
在 Swift 中,当调用 C 函数时,Swift 字符串作为参数传递时会被自动强制转换为 CString。但是,在填写 C 结构或全局变量时,我没有得到相同的行为。
strlen(swiftString) //Works!
CGlobalStruct.stringPtr = swiftString //Doesn't work!
Run Code Online (Sandbox Code Playgroud)
首先,当它们都是“const *char”时,为什么它们的行为不同。其次,填写C Structs的最干净方法是什么?
android ×2
clang ×2
ember.js ×2
sproutcore ×2
c ×1
c++ ×1
c++14 ×1
concurrency ×1
constexpr ×1
ios ×1
libdispatch ×1
linux ×1
nexus-7 ×1
opencl ×1
sencha-touch ×1
swift ×1
xcode ×1
xcode5.1 ×1