小编noo*_*ler的帖子

抑制makefile中命令调用的回显?

我编写了一个程序,用于将其输出打印到stdout的赋值.赋值规范要求创建一个Makefile,在调用make run > outputFile时应运行程序并将输出写入文件,该文件的SHA1指纹与规范中给出的指纹相同.

我的问题是我的makefile:

...
run:
     java myprogram
Run Code Online (Sandbox Code Playgroud)

还会将运行我的程序的命令(例如java myprogram)输出到输出文件,这样我的文件就会包含这个额外的行,导致指纹错误.

有没有办法在没有命令调用回显到命令行的情况下执行命令?

unix linux posix makefile

121
推荐指数
4
解决办法
6万
查看次数

make [1]:输入目录错误消息

我有一个简单的Makefile:

default:
    @make build
    @make run

build:
    @javac Test.java > /dev/null

run:
    @java Test
Run Code Online (Sandbox Code Playgroud)

在编译期间,输出:

make[1]: Entering directory `<current directory'>
...
make[1]: Leaving directory `<current directory'>
Run Code Online (Sandbox Code Playgroud)

我需要make来构建而不打印这些消息.有谁知道问题是什么或如何抑制这些消息?

谢谢


编辑:无论代码如何都会发生这种情况.例如它发生在:

class Test {

    public static void main(String[] args) {
        System.out.println("HELLO WORLD");
    }
}
Run Code Online (Sandbox Code Playgroud)

java makefile

11
推荐指数
2
解决办法
9546
查看次数

BASH:发送SIGTSTP信号(ctrl + z)

我正忙着编程,我必须在同一台机器上同时运行同一程序的多个实例.目前,我一次启动一个实例,按Ctrl + z暂停它们,然后执行'bg%# '以在后台继续执行.

每次我需要测试我的应用程序中的一个小变化时,这是非常繁琐和耗时的,所以我想编写一个bash脚本,它将为我启动多个实例,但是我不知道如何做背景切换脚本.

任何人都可以告诉我如何编写一个简单的脚本,它将启动一个长期命令,暂停它并在后台恢复它?

谢谢

unix linux bash posix

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

无法在eclipse中导入java.awt.geom

我刚刚开始研究一个新的Eclipse Android项目,并希望利用java.awt.geom包中的类.我安装了OpenJVM 1.6和sun 1.6 jdk,都来自debian的存储库.当我尝试导入包时,它说无法解析导入(事实上,Eclipse的自动完成只显示awt和awt.font).

我是超越困惑,这是为什么,我看着做在我的Eclipse成立了JRE系统库:窗口>首选项>的Java>已安装的JRE>编辑...我看到我包含了rt.jar,当我在磁盘上找到jar并用jar ft rt.jar检查它的内容时,我发现它包含java/awt/geom类.

有人知道为什么我不能在Eclipse中导入这个包吗?

谢谢

java eclipse android

9
推荐指数
1
解决办法
2559
查看次数

自动滚动图库小部件

我需要实现一个一次滚动一个项目的画廊,它可以进行'自动滚动':即每隔几秒,它会自动滚动到下一个项目.

根据这个主题:Android:以编程方式在Gallery小部件中的图像之间设置动画,我扩展了Gallery,覆盖onFling以忽略fling事件,而是向左或向右模拟DPAD箭头,以便一次移动单个项目:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
          int kEvent;
          if(isScrollingLeft(e1, e2)){ //Check if scrolling left
            kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
          }
          else{ //Otherwise scrolling right
            kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
          }
          onKeyDown(kEvent, null);

          return true; 
    }
Run Code Online (Sandbox Code Playgroud)

这很好用.对于自动滚动,我创建一个处理程序并postDelayed runnable以相同的方式模拟相同的DPAD键按下:

handler.postDelayed(new Runnable() {
    public void run() { 
        onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);
    }
}, AUTO_SCROLL_INTERVAL);
Run Code Online (Sandbox Code Playgroud)

但这没有做任何事!!

我知道runnable以正确的间隔按预期执行,因为我记录并确认了这一点,但是onKeyDown不会导致库滚动或切换项目.为什么这种方法适用于一种方法而不是另一种方法 我试着打电话给我的onFling,但无济于事.也尝试了dispatchKeyEvent,但没有运气.

我真的需要这样做,但我也真的想要理解为什么相同的代码不能在两个不同的地方产生相同的结果......这是否与Android视图处理输入事件的方式有关?我查看了图库代码的线索,但一无所获!好像它应该有效.

拜托,我很难过......任何想法?

谢谢

android android-widget android-gallery

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