小编MBy*_*ByD的帖子

将Lisp转换为C++

我正在研究一种基于lisp(非常小的方案子集)编译成C++的玩具语言,我试图弄清楚如何表示let表达式,

(let ((var 10)
      (test 12))
  (+ 1 1)
  var)
Run Code Online (Sandbox Code Playgroud)

起初我认为执行所有exprs然后返回最后一个,但是返回会杀死我的嵌套let表达式的能力,那么表示let的方法是什么?

此外,任何关于源到源转换的资源都是适用的,我已经用Google搜索,但我所能得到的只是90分钟的方案编译器.

c c++ scheme

8
推荐指数
1
解决办法
594
查看次数

在contentProvider中选择前n行

我选择这个:

 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行?

android where android-contentprovider

7
推荐指数
1
解决办法
3913
查看次数

片段交易自定义动画 - Android

我想做: 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构建的.

android

7
推荐指数
1
解决办法
1万
查看次数

Java线程错误IllegalThreadState线程已经启动

每当我开始我的线程时,我总是做这个检查.我没有找到任何我在线程上调用start而没有进行下面的检查

if (!myThread.isAlive())
    myThread.start();
Run Code Online (Sandbox Code Playgroud)

然而,我最终得到了IllegalThreadStateException:Thread已经启动了.这实际上崩溃了我的应用程序(android).那么在启动线程之前还需要做一些其他的检查吗?

java android

7
推荐指数
2
解决办法
9373
查看次数

在Android中暂停和恢复录制音频

我正在使用MediaRecorder类在Android 2.3中开发录音应用程序.我有以下要求:

  1. 当发生中断时,例如在录制期间发生呼叫,暂停录制.
  2. 在中断结束后,我的录音活动的响应被调用,我必须从暂停时恢复录音.

我找不到任何MediaRecorder api来暂停和恢复录制.只有start()和stop()可用.
除了在中断之前和之后记录两个单独的文件然后再加入一个文件之外,还有其他方法可以实现吗?
任何帮助/建议将不胜感激.

Sneha John.

android audio-recording

7
推荐指数
1
解决办法
6757
查看次数

编译代码中的冗余指令

可能重复:
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)

compiler-construction x86 assembly visual-c++

7
推荐指数
1
解决办法
917
查看次数

Android Soundpool问题

我在Android Market上有一个应用程序,并且一直在使用SoundPool类来获得音效.我注意到,在Android API的所有部分中,这似乎给我带来了最多的问题.例如:

  • HTC Desire在播放WAV文件时遇到问题(这会导致它随机锁定).使用.ogg文件修复此问题

  • 在Droid上,如果超过init设置调用中的通道数:

mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);

手机会锁定.如果你能想象调试的难度那么大!在我不拥有的手机上.它需要我的客户提供很多无私的帮助.将'4'改为'16'消除了这个问题.我毫不怀疑,如果同时播放16种声音,它仍然会崩溃.值得庆幸的是,这种可能性很低.

  • 还可以在各种设备上随机崩溃.我有一个来自我的客户的catlog,其中有关于播放声音的"堆溢出"错误.

我现在已将声音管理器更改为使用MediaPlayer.这似乎现在很好.我只是想知道是否有其他开发人员遇到这些问题?

android soundpool

6
推荐指数
1
解决办法
7340
查看次数

Android水平scrollView中的ListView垂直滚动

我有一个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)

这会导致滚动发生并且事情有效.我只是想知道是否还有一些我需要考虑的事情.

谢谢

android android-layout

6
推荐指数
1
解决办法
3763
查看次数

头文件中的结构定义库和编译差异

我有一个编译成库(dll,静态库等)的代码.我希望这个库的用户使用一些结构来传递一些数据作为库函数的参数.我想过在API头文件中声明结构.

  • 这样做是否安全,考虑使用不同的编译器编译,结构对齐或其他我没有想到的事情?
  • 它是否需要为库及其用户使用相同的编译器(和标志)?

几点说明:

  1. 我考虑给用户一个指针并通过库中的函数设置所有结构,但这会使API真的不适合使用.
  2. 这个问题是关于C的,虽然知道c ++是否存在差异会很好.

c dll struct shared-libraries

6
推荐指数
1
解决办法
1068
查看次数

iOS-如何显示金色

我正在尝试将视图的背景颜色设置为黄金.我找到了这个值的几个音调的RGB值.为此,我只是这样做:

[myView.backgroundColor=[UIColor colorWithRed:252.0 green:194.0 blue:0 alpha:1.0]];
Run Code Online (Sandbox Code Playgroud)

但我得到的颜色与黄色相同.银色也是如此.我得到的颜色与白色相同.有没有办法实现这个或iOS不支持这个?

colors ios

6
推荐指数
2
解决办法
4378
查看次数