小编HBZ*_*HBZ的帖子

在Java JVM中重新排序的说明

我正在阅读这篇博文.

作者正在谈论在多线程环境中打破hashCode()in String.

有了:

public int hashCode() {
     int h = hash;
     if (h == 0) {
         int off = offset;
         char val[] = value;
         int len = count;

         for (int i = 0; i < len; i++) {
             h = 31*h + val[off++];
         }
         hash = h;
     }
     return h;
 }
Run Code Online (Sandbox Code Playgroud)

变成:

public int hashCode() {
     if (hash == 0) {
         int off = offset;
         char val[] = value;
         int len = count;

         int …
Run Code Online (Sandbox Code Playgroud)

java concurrency

30
推荐指数
1
解决办法
3796
查看次数

如何编译Genymotion的C程序(Android x86)

我正在尝试构建一个简单的HelloWorld应用程序并在Genymotion上运行它.我的建筑系统是Ubuntu 14.04 64bit.我安装了Android SDK(r22.6.2)和NDK(r9d).

第一次尝试:使用预构建的NDK ARM工具链进行构建

TOOLCHAIN = $NDK/toolchains/arm-linux-androideabi-4.8
$TOOLCHAIN/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$PLATFORM hello.c -o hello
adb push hello /sdcard/
./hello
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

/system/bin/sh: ./Hello: not executable: magic 7F45
Run Code Online (Sandbox Code Playgroud)

经过一番研究,我很快意识到Genymotion有x86 arch而不是ARM

第二次尝试:使用x86 Standalone ToolChain构建

  1. 首先制作x86 standlone工具链

    cd $NDK/build/tools
    ./make-standalone-toolchain.sh --arch=x86 --platform=android-19 --install-dir=/tmp/android-toolchain --ndk-dir=../../. --system=linux-x86_64
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用工具链构建Hello

    cd tmp/android-toolchain/bin
    ./i686-linux-android-gcc -o Hello -c hello.c
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在Genymotion上运行Hello

    adb push hello /data/local/tmp
    adb shell
    cd /data/local/tmp
    ./hello
    /system/bin/sh: ./Hello: not executable: magic 7F45
    
    Run Code Online (Sandbox Code Playgroud)

uname -a在genymotion机器上. Android系统名称file Hello在可执行文件上 你好文件信息

所以应该是一场比赛.

仍然得到同样的错误.如果有人可以解释一下,真的很感激.

编辑1:尝试在/ data/local/tmp中运行可执行文件而不是/ …

c android gcc android-ndk genymotion

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

标签 统计

android ×1

android-ndk ×1

c ×1

concurrency ×1

gcc ×1

genymotion ×1

java ×1