小编Spy*_*s K的帖子

GCC:抱歉,未实现:未编译的64位模式

我在我的x86 32位linux系统上构建了GCC 4.7.当我尝试使用-m64标志进行交叉编译时,我得到以下结果:

抱歉,未实现:64位模式未编译

而我的Linux发行版默认提供的编译器可以与-m64交叉编译.

我需要传递给./configure以在GCC中启用64位模式?这些是我用来构建GCC 4.7的选项:

$ /usr/local/bin/g++ -v Using built-in specs.
COLLECT_GCC=/usr/local/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ./configure --enable-multiarch --with-cloog=/usr/local/ --with-mpfr=/usr/local/ --with-ppl=/usr/local/ --verbose --enable-languages=c,c++
Thread model: posix gcc version 4.7.0 20120113 (experimental) (GCC)
Run Code Online (Sandbox Code Playgroud)

编辑:

--enable-multilib和--enable-targets = i686-pc-linux-gnu,x86_64-pc-linux-gnu

不要改变这种情况.编译器仍抱怨未编译的64位模式:

$ g ++ -v使用内置规范.COLLECT_GCC = g ++ COLLECT_LTO_WRAPPER =/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper目标:i686-pc-linux-gnu配置:./ configure --enable-multiarch - -with-cloog =/usr/local/--with-mpfr =/usr/local/--with-ppl =/usr/local/--verbose --enable-languages = c,c ++ --enable-multilib - -enable-targets = i686-pc-linux-gnu,x86_64-pc-linux-gnu线程模型:posix gcc版本4.7.0 20120113(实验)(GCC)

$ g ++ -m64 c.cpp c.cpp:1:0:抱歉,未实现:64位模式未编译

c++ gcc

28
推荐指数
2
解决办法
4万
查看次数

如何从Bash CGI脚本中的POST数据中获取文件?

我试图使用cURL发布文件,并通过CGI Bash脚本在另一侧接收它并使用相同的名称存储它.上传完成后,diff原始文件和重建文件之间应返回零.

cURL发送数据的方式:

curl --request POST --data-binary "@dummy.dat" 127.0.0.1/cgi-bin/upload-rpm
Run Code Online (Sandbox Code Playgroud)

接收器脚本:

#!/bin/bash

echo "Content-type: text/html"
echo ""

echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo '<title>Foo</title>'
echo '</head>'
echo '<body>'

echo "<p>Start</p>"

if [ "$REQUEST_METHOD" = "POST" ]; then
    echo "<p>Post Method</p>"
    if [ "$CONTENT_LENGTH" -gt 0 ]; then
        echo "<p>Size=$CONTENT_LENGTH</p>"
        while read -n 1 byte -t 3; do echo -n -e "$byte" >> ./foo.dat ; done
    fi
fi
echo '</body>'
echo '</html>'

exit 0
Run Code Online (Sandbox Code Playgroud)

但它不起作用.文件不是在服务器端创建的.我怎样才能获得文件名?

bash curl cgi

14
推荐指数
2
解决办法
2691
查看次数

使用 OpenJDK 8 和 Apple M1 芯片在 Docker shell 中编译 sbt 时出现 SIGSEGV 错误

刚刚买了一台配备 Apple M1 芯片的新 Mac,正在尝试为我正在进行的项目设置开发环境。我正在使用 Docker Desktop 并将平台标志添加到 docker-compose.yml ( platform: linux/x86_64) 和 Dockerfile (FROM --platform=linux/amd64 openjdk:8-jdk-stretch ) 中。I\xe2\x80\x99m 使用 OpenJDK 8 和 sbt 0.13.15

\n

容器创建得很好,我可以sbt -Dsbt.ivy.home=\'.ivy2\' -Dsbt.global.base=\'.sbt\' -Dsbt.repository.config=\'.sbt/repositories\'从 docker shell 内部运行,它将创建一个sbtshell,但是如果我运行compile在这个 shell 中运行,我会收到此错误:

\n
[info] Compiling 153 Scala sources and 2 Java sources to /opt/target/scala-2.10/classes...\n#\n# A fatal error has been detected by the Java Runtime Environment:\n#\n#  SIGSEGV (0xb) at pc=0x000000400d9d7447, pid=9, tid=0x00000040b87ab700\n#\n# JRE version: OpenJDK Runtime Environment (8.0_242-b08) (build 1.8.0_242-b08)\n# …
Run Code Online (Sandbox Code Playgroud)

java sbt java-8 docker apple-m1

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

使用 Oracle JDK 14 时,所有 gradle (6.2.2) 任务都失败并显示“无法初始化类 org.codehaus.groovy.runtime.InvokerHelper”

我安装了 JDK 14 并开始使用它。

但是,使用 Gradle 6.2.2 的项目无法运行,并且每次尝试调用 Gradle Task 时都会出现以下错误:

无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

其他项目,例如 maven 项目和普通的 java 项目,可以在 Java 14 上正常工作。

重现此错误的一种简单方法是创建一个新文件夹并尝试运行该init任务。

例如:

gradle init --type 基本

FAILURE:构建失败,出现异常。

  • 出了什么问题:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • https://help.gradle.org获取更多帮助

在 878 毫秒内构建失败

运行本例的PC使用windows 10。java版本为:

java --version

java 14 2020-03-17 Java(TM) SE 运行时环境(构建 14+36-1461)

Java HotSpot(TM) 64 位服务器 VM(构建 14+36-1461,混合模式,共享)

是否有解决此问题的方法,以便我可以使 Gradle 6.2.2 与 Oracle JDK 14 一起使用?

java windows gradle java-14

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

如何在Scala 3中使用akka?

如何在 Scala 3 中使用 akka ?使用 scala 3 时找不到 akka 依赖项

sbt 错误:

[error]   not found: /Users/admin/.ivy2/localcom.typesafe.akka/akka-actor-typed_3/2.6.15/ivys/ivy.xml
[error]   not found: https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_3/2.6.15/akka-actor-typed_3-2.6.15.pom
[error] (ssExtractDependencies) sbt.librarymanagement.ResolveException: Error downloading com.typesafe.akka:akka-actor-typed_3:2.6.15
[error]   Not found
[error]   Not found
[error]   not found: /Users/admin/.ivy2/localcom.typesafe.akka/akka-actor-typed_3/2.6.15/ivys/ivy.xml
[error]   not found: https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_3/2.6.15/akka-actor-typed_3-2.6.15.pom
Run Code Online (Sandbox Code Playgroud)

scala akka akka-actor scala-3

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

机器可读格式的REST服务示例

我看到的大多数REST接口都是用一个描述URL,方法,接受的输入和返回结果的简单网页来描述的.例如Amazon S3Twitter API文档.

人类可读对于亚马逊或Twitter来说显然已经足够好了.但是有没有公司以机器可读的格式描述REST API?如果是的话,哪些?

WSDL 2.0声明能够描述REST.显式创建WADL用于描述REST服务.WSDL 2.0和WADL似乎都有一个相当小的跟随atm,它似乎是创建和维护描述文档的努力的回报.通过识别现实生活中的例子,基本上可以验证或否定这一假设.

您是否使用WSDL/WADL来描述您的服务?您是否依赖WSDL/WADL来消费他人的服务?您的选择工具目前是否支持?是否有可以使用的广泛使用的REST服务示例,这些示例以机器可读格式详细说明?

rest wsdl web-services wadl

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

为什么 LongStream reduce 和 sum 性能存在差异?

我使用LongStream'srangeClosed来测试数字总和的性能。当我通过JMH测试性能时,结果如下。

@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@Fork(value = 1, jvmArgs = {"-Xms4G", "-Xmx4G"})
@State(Scope.Benchmark)
@Warmup(iterations = 10, time = 10)
@Measurement(iterations = 10, time = 10)
public class ParallelStreamBenchmark {
  private static final long N = 10000000L;

  @Benchmark
  public long sequentialSum() {
    return Stream.iterate(1L, i -> i + 1).limit(N).reduce(0L, Long::sum);
  }

  @Benchmark
  public long parallelSum() {
    return Stream.iterate(1L, i -> i + 1).limit(N).parallel().reduce(0L, Long::sum);
  }

  @Benchmark
  public long rangedReduceSum() {
    return LongStream.rangeClosed(1, N).reduce(0, Long::sum);
  }

  @Benchmark
  public long rangedSum() …
Run Code Online (Sandbox Code Playgroud)

java benchmarking java-8 java-stream

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

开放封闭原则与默认实现

Java 8 引入了接口默认实现的概念?这是否违反了开放封闭原则,因为基于https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html上的示例,您似乎始终可以打开界面以添加新功能?

architecture open-closed-principle default-implementation java-8 default-method

5
推荐指数
1
解决办法
321
查看次数

如何让tomcat从目录自动部署WAR文件,但仍然使用原始的appBase目录

我需要在嵌入式解决方案中部署我的应用程序(在树莓派零上运行)。因此,我只能在本地主机上部署东西。我对虚拟主机不太熟悉,所以我对此可能是错误的。

我的问题是我希望 tomcat 自动部署包含在我克隆到树莓派上的 git 存储库中的 war 文件。这样就可以轻松地通过 git 存储库进行更新,而不必与经理打交道。话虽这么说,我也希望保持默认 webapps 目录中包含的管理器和其他管理工具处于活动状态并正常工作。我不想将它们复制到 git 存储库中,因为它们会被放错位置并保留在存储库中,这是不必要的。此外,我希望tomcat“分解”或提取原始webapps目录中的WAR文件,以免将这些文件添加到git存储库中。

基本上,我希望能够自动部署某个目录中的所有 war 文件,而无需实际写入该目录,同时还可以自动部署“标准”webapps 目录中的 war 文件。

这可能吗?

我使用的是tomcat9

java raspberry-pi tomcat9 java-ee-8 raspberry-pi-zero

5
推荐指数
1
解决办法
3416
查看次数

如何最大化大于 32 位的 var int?

我正在使用带有内置 Gecode 6.1.1 的 minizinc,并且我希望最大化目标函数,其值远大于最大 int 32。32 位整数的最大值是 2147483646。虽然似乎没有太多信息与minizinc 参考文献中整数的最大值相关。然而,以下测试表明 Minizinc 使用 32 位整数。

测试非常简单,它只是尝试最大化 var int。

var int: maxInt;
constraint maxInt>0;

solve maximize maxInt;

output ["maxInt = \(maxInt)"];
Run Code Online (Sandbox Code Playgroud)

结果是

最大整数 = 2147483646

结果接近最大 int32 值,而且 miniZinc 似乎无法进一步“最大化”它。以下示例返回一个奇怪的错误。

var int: maxInt;
constraint maxInt>2147483646;

solve maximize maxInt;

output ["maxInt = \(maxInt)"];
Run Code Online (Sandbox Code Playgroud)

错误消息如下。该错误消息信息不多,但在尝试使用大于 2147483646 的数字时会显示。

错误:第 1 行中的整数文字无效。2 错误:语法错误,第 1 行出现意外的“,” 2 进程以非零退出代码 1 结束

我的问题如下:我可以在 minizinc 中使用 int64 位整数或任何其他大整数表示形式吗?如果可以,如何使用?(使用浮动不是一种选择)理想情况下,我想举一些例子来说明如何最大化某些东西

constraint maxLargeInt>2147483647;
Run Code Online (Sandbox Code Playgroud)

optimization minizinc gecode optimathsat

3
推荐指数
1
解决办法
407
查看次数