小编Joh*_*ger的帖子

多于两个参数的Numpy`logical_or`

Numpy的logical_or函数只需要比较两个数组.如何找到两个以上数组的并集?(关于Numpy的问题可以提出同样的问题,logical_and并获得两个以上数组的交集.)

python arrays numpy

72
推荐指数
6
解决办法
3万
查看次数

如何从Android中的热敏打印机打印?

我正在开发一款具有内置行式打印机的Android设备应用程序.我必须与此打印机进行交互,并使用它在收货时打印详细信息,然后自动切割收据.我在其中看到了一些ESC命令,但我不知道如何执行这些ESC命令.

关于卡西欧设备打印机,我有三个主要问题:

1.我使用了内置打印机的打印代码,但打印后切刀未激活

BuildinEx840 ex840 = new BuildinEx840();
int response = ex840.open();
System.out.println("ex840 open:" + response);

byte[] set = {
    'N', 'A', 'R', 'E', 'S', 'H', 'S', 'H', 'A', 'R', 'M', 'A', (byte) 0x0d, (byte) 0x0a
};

try {        

    ex840.write(set);   

} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

try {

    response = ex840.getEndStatus();
    System.out.println("getEndStatus:" + response);
    response = ex840.initCutter();
    ex840.close();    
    System.out.println("initCutter:" + response);

} catch (Exception e) {         
    e.printStackTrace();         
}
Run Code Online (Sandbox Code Playgroud)

2.我不知道如何将ESC命令发送到android中的打印机

有如下命令的数量

ESC FF DataPrint,
[code] …
Run Code Online (Sandbox Code Playgroud)

java android escaping thermal-printer point-of-sale

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

在HIVE QL的表格中添加一列

我在HIVE中编写代码来创建一个包含1300行和6列的表:

create table test1 as SELECT cd_screen_function,
     SUM(access_count) AS max_count,
     MIN(response_time_min) as response_time_min,
     AVG(response_time_avg) as response_time_avg,
     MAX(response_time_max) as response_time_max,
     SUM(response_time_tot) as response_time_tot,
     COUNT(*) as row_count
     FROM sheet WHERE  ts_update BETWEEN unix_timestamp('2012-11-01 00:00:00') AND 
     unix_timestamp('2012-11-30 00:00:00') and cd_office = '016'
     GROUP BY cd_screen_function ORDER BY max_count DESC, cd_screen_function;
Run Code Online (Sandbox Code Playgroud)

现在我想添加另一列,access_count1其中包含所有1300行的唯一值,值将是sum(max_count).max_count是我现有表中的一列.我怎么能这样做?我试图通过此代码更改表ALTER TABLE test1 ADD COLUMNS (access_count1 int) set default sum(max_count);

hadoop hive hiveql

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

fork()Vs Thread的公平比较

我正在讨论fork()Vs thread()相对于任务并行化的相对成本.

我们了解进程Vs Thread之间的基本区别

线:

  • 易于在线程之间进行通信
  • 快速上下文切换.

流程:

  • 容错.
  • 与父母沟通不是真正的问题(打开管道)
  • 与其他子流程的沟通很难

但我们不同意流程Vs线程的启动成本.
因此,为了测试理论,我编写了以下代码.我的问题:这是衡量启动成本的有效测试,还是我遗漏了一些东西.此外,我对每个测试在不同平台上的表现感兴趣.

fork.cpp

#include <boost/lexical_cast.hpp>
#include <vector>
#include <unistd.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>

extern "C" int threadStart(void* threadData)
{
    return 0;
}

int main(int argc,char* argv[])
{
    int threadCount =  boost::lexical_cast<int>(argv[1]);

    std::vector<pid_t>   data(threadCount);
    clock_t                 start   = clock();
    for(int loop=0;loop < threadCount;++loop)
    {
        data[loop]  = fork();
        if (data[looo] == -1)
        {
            std::cout << "Abort\n";
            exit(1);
        }
        if (data[loop] == 0)
        {
            exit(threadStart(NULL));
        }
    }
    clock_t                 middle   = clock(); …
Run Code Online (Sandbox Code Playgroud)

c c++ unix multithreading fork

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

IntelliJ Idea:如何在开发的插件中公开类,接口和注释

我为IntelliJ Idea创建了一个插件.在插件中,我已经定义了一个我希望在我的项目中使用的注释,但它似乎不可访问.我应该如何在plugin.xml文件中指定我想要公开的包?

java intellij-idea intellij-plugin

21
推荐指数
1
解决办法
310
查看次数

C函数调用参数太少

我正在研究一些遗留的C代码.原始代码是在90年代中期编写的,目标是那个时代的Solaris和Sun的C编译器.当前版本在GCC 4下编译(虽然有许多警告),它似乎有效,但我正在努力整理它 - 我想尽可能多地挤出潜在的错误,因为我确定了可能需要的东西.使其适应64位平台,以及编译器以外的编译器.

我在这方面的主要活动之一是确保所有函数都有完整的原型(许多人都没有),在这种情况下我发现了一些调用函数(以前没有原型)的代码,其参数少于函数定义声明.函数实现确实使用了缺少参数的值.

例:

impl.c:

int foo(int one, int two) {
  if (two) {
      return one;
  } else {
      return one + 1;
  }
}
Run Code Online (Sandbox Code Playgroud)

client1.c:

extern foo();
int bar() {
  /* only one argument(!): */
  return foo(42);
}
Run Code Online (Sandbox Code Playgroud)

client2.c:

extern int foo();
int (*foop)() = foo;
int baz() {
  /* calls the same function as does bar(), but with two arguments: */
  return (*foop)(17, 23);
}
Run Code Online (Sandbox Code Playgroud)

问题:是否定义了缺少参数的函数调用的结果?如果是这样,函数将为未指定的参数接收什么值?否则,Sun C编译器的ca. 1996年(对于Solaris,而不是VMS)展示了一种可预测的特定于实现的行为,我可以通过向受影响的调用添加特定的参数值来模拟这种行为吗?

c argument-passing

14
推荐指数
1
解决办法
6397
查看次数

仅使用按位运算符实现逻辑否定(除了!)

~ & ^ | + << >> 是我可以使用的唯一操作

在我继续之前,这是一个功课问题,我已经坚持了很长时间.

我原来的方法:我认为!x可以用两个补码完成,并用它的加法逆做一些事情.我知道xor可能在这里,但我真的不知道如何处理这个问题.

为了记录:我也不能使用条件,循环==等,只能使用上面提到的函数(按位).

例如:

!0 = 1
!1 = 0
!anything besides 0 = 0
Run Code Online (Sandbox Code Playgroud)

c boolean-logic bit-manipulation negation

13
推荐指数
3
解决办法
2万
查看次数

C11 内存模型真的与常见的优化冲突吗?

最近一个问题的 OP添加了一条评论,链接了一篇题为C11 内存模型中的通用编译器优化无效以及我们可以做些什么的论文,这显然是在 POPL 2015 上提出的。除其他外,它声称展示了几个从所谓的“C11 内存模型”的规范中得出的意外和违反直觉的结论,我认为主要由C11 语言规范第 5.1.2.4 节的规定组成。

这篇论文有点冗长,但出于这个问题的目的,我将重点放在第二页上对“SEQ”方案的讨论。这涉及一个多线程程序,其中...

  • a是非原子的(例如, an int),
  • x并且y是原子的(例如,_Atomic int),并且
  • a, x, 和y所有最初都有价值0,

...然后发生以下情况(从伪代码音译):


主题 1

a = 1;
Run Code Online (Sandbox Code Playgroud)

主题 2

if (atomic_load_explicit(&x, memory_order_relaxed))
    if (a)
        atomic_store_explicit(&y, 1, memory_order_relaxed);
Run Code Online (Sandbox Code Playgroud)

主题 3

if (atomic_load_explicit(&y, memory_order_relaxed))
    atomic_store_explicit(&x, 1, memory_order_relaxed);
Run Code Online (Sandbox Code Playgroud)

该论文提出了这样的论点:

首先,请注意没有发生负载的执行(第 2 节术语中的一致执行a。我们通过矛盾来证明这一点。假设有一个执行,其中a发生了负载。在这样的执行中, 的加载a只能返回0( 的初始值a),因为存储a=1 …

c language-lawyer

12
推荐指数
1
解决办法
357
查看次数

make install安装时的Libtool安装问题

我使用以下autotool步骤来安装我的pacakges:

./configure
make
make install prefix=/my/path
Run Code Online (Sandbox Code Playgroud)

但是我收到了以下libtool警告" libtool:警告:记得运行'libtool --finish/usr/local/lib '和" libtool:warning:'lib/my.la'尚未安装在'/ usr/local/lib' "使用autotool安装我的软件包.如果我更改为以下命令,问题就会消失:

./configure
make prefix=/my/path
make install prefix=/my/path
Run Code Online (Sandbox Code Playgroud)

看起来第一种方法不能prefix正确地替换为libtool.我该如何避免这个问题?

makefile libtool

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

如何告诉clang将调试符号放入可执行的二进制文件?

我的编译命令是在macOS Seria clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file 编译之后,它还生成一个额外的file.dSYM文件,其中包含所有调试sybols.但是,当我使用WSL或其他*nix系统时,它不会生成这样的文件,调试符号被嵌入到可执行二进制文件中.所以我只是想知道有没有办法在macOS中用clang做同样的事情.

c c++ macos llvm clang

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