我正在研究一种基于lisp(非常小的方案子集)编译成C++的玩具语言,我试图弄清楚如何表示let表达式,
(let ((var 10)
(test 12))
(+ 1 1)
var)
Run Code Online (Sandbox Code Playgroud)
起初我认为执行所有exprs然后返回最后一个,但是返回会杀死我的嵌套let表达式的能力,那么表示let的方法是什么?
此外,任何关于源到源转换的资源都是适用的,我已经用Google搜索,但我所能得到的只是90分钟的方案编译器.
我选择这个:
final Cursor cursorConversations = getContentResolver().query(
Uri.parse("content://gmail-ls/conversations/" + Uri.encode(mailAddress)),
null, null, null, BaseColumns._ID + " DESC");
ContentQueryMap mQueryMap
= new ContentQueryMap(cursorConversations, BaseColumns._ID, true, null);
Run Code Online (Sandbox Code Playgroud)
使用ContentQueyMap,我可以缓存Cursor数据并在Cursor关闭时迭代它(我需要它来提升性能).
现在,我想要选择Corsor只检索前五十行.循环50次的解决方案mQueryMap.getRows().entrySet()是不对的:我不希望mQueryMap获取Cursor的所有行,但只需要前五十行.
任何的想法?是否存在where子句只能获得前n行?
我想做:
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
但我得到一个未知动画名称的异常:objectAnimator - 请参阅以下详细信息:
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): FATAL EXCEPTION: main
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): java.lang.RuntimeException: Unknown animation name: objectAnimator
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:124)
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:91)
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:72)
Run Code Online (Sandbox Code Playgroud)
为什么会出错?我不知道如何解决它.请帮忙.谢谢.
仅供参考:我的min sdk是7,但我是使用兼容性库为sdk 11构建的.
每当我开始我的线程时,我总是做这个检查.我没有找到任何我在线程上调用start而没有进行下面的检查
if (!myThread.isAlive())
myThread.start();
Run Code Online (Sandbox Code Playgroud)
然而,我最终得到了IllegalThreadStateException:Thread已经启动了.这实际上崩溃了我的应用程序(android).那么在启动线程之前还需要做一些其他的检查吗?
我正在使用MediaRecorder类在Android 2.3中开发录音应用程序.我有以下要求:
我找不到任何MediaRecorder api来暂停和恢复录制.只有start()和stop()可用.
除了在中断之前和之后记录两个单独的文件然后再加入一个文件之外,还有其他方法可以实现吗?
任何帮助/建议将不胜感激.
Sneha John.
可能重复:
LEA EAX有什么意义,[EAX]?
在反汇编练习中,我观察到以下代码:
TEST.CPP:
#include <stdio.h>
int main(int argc, char * argv[]) {
for (int i = 0; i < 10 ; ++i) {
printf("%i\n", i);
}
int i = 0;
while ( i < 10) {
printf("%i\n", i);
++i;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用vc ++ 2008进行优化编译:
cl /Ox test.cpp
Run Code Online (Sandbox Code Playgroud)
主要功能的反汇编:
.text:00401000 var_4 = dword ptr -4 ; BTW, IDA fails to see that esi is pushed to save it, not to allocate space to local variable
.text:00401000
.text:00401000 …Run Code Online (Sandbox Code Playgroud) 我在Android Market上有一个应用程序,并且一直在使用SoundPool类来获得音效.我注意到,在Android API的所有部分中,这似乎给我带来了最多的问题.例如:
HTC Desire在播放WAV文件时遇到问题(这会导致它随机锁定).使用.ogg文件修复此问题
在Droid上,如果超过init设置调用中的通道数:
mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
手机会锁定.如果你能想象调试的难度那么大!在我不拥有的手机上.它需要我的客户提供很多无私的帮助.将'4'改为'16'消除了这个问题.我毫不怀疑,如果同时播放16种声音,它仍然会崩溃.值得庆幸的是,这种可能性很低.
我现在已将声音管理器更改为使用MediaPlayer.这似乎现在很好.我只是想知道是否有其他开发人员遇到这些问题?
我有一个listView的自定义ArrayAdapter,它位于水平scrollView内.水平滚动工作正常,但对于垂直滚动,我不得不做一些黑客攻击.我只是想知道它是否是一个好主意,因为listView已经针对垂直滚动进行了优化.有没有办法滚动没有这个黑客?
黑客主要是为scrollView(父类)捕获touchEvent并将touchEvent传播到ListView.
scrolLView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
lv.setSmoothScrollbarEnabled(true);
lv.dispatchTouchEvent(arg1);
}
});
Run Code Online (Sandbox Code Playgroud)
这会导致滚动发生并且事情有效.我只是想知道是否还有一些我需要考虑的事情.
谢谢
我有一个编译成库(dll,静态库等)的代码.我希望这个库的用户使用一些结构来传递一些数据作为库函数的参数.我想过在API头文件中声明结构.
几点说明:
我正在尝试将视图的背景颜色设置为黄金.我找到了这个值的几个音调的RGB值.为此,我只是这样做:
[myView.backgroundColor=[UIColor colorWithRed:252.0 green:194.0 blue:0 alpha:1.0]];
Run Code Online (Sandbox Code Playgroud)
但我得到的颜色与黄色相同.银色也是如此.我得到的颜色与白色相同.有没有办法实现这个或iOS不支持这个?