Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
/* test.c */
#include <stdio.h>
#include <stdlib.h>
int main()
{
double d;
d = strtod("0x1234", NULL);
printf("d=%f\n", d);
return 0;
}
$ uname -s
Darwin
$ cc -x c -Wall -Wextra -Werror -c -o test.o test.c
$ cc -o test test.o
$ ./test
d=4660.000000
$ uname -s
Linux
$ cc -x c -Wall -Wextra -Werror -c -o test.o test.c
$ cc -o test test.o
$ ./test
d=4660.000000
$ adb shell getprop ro.build.version.release
4.4.4
$ /opt/android/android-ndk-r10d/ndk-build
[armeabi-v7a] Compile thumb : test-strtod <= test.c
/opt/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc -MMD -MP -MF ./obj/local/armeabi-v7a/objs/test-strtod/test.o.d -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Ijni -DANDROID -Wall -Wextra -Werror -Wa,--noexecstack -Wformat -Werror=format-security -I/opt/android/android-ndk-r10d/platforms/android-9/arch-arm/usr/include -c jni/test.c -o ./obj/local/armeabi-v7a/objs/test-strtod/test.o
[armeabi-v7a] Executable : test-strtod
/opt/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -Wl,--gc-sections -Wl,-z,nocopyreloc --sysroot=/opt/android/android-ndk-r10d/platforms/android-9/arch-arm -Wl,-rpath-link=/opt/android/android-ndk-r10d/platforms/android-9/arch-arm/usr/lib -Wl,-rpath-link=./obj/local/armeabi-v7a ./obj/local/armeabi-v7a/objs/test-strtod/test.o -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -mthumb -lc -lm -o ./obj/local/armeabi-v7a/test-strtod
[armeabi-v7a] Install : test-strtod => libs/armeabi-v7a/test-strtod
install -p ./obj/local/armeabi-v7a/test-strtod ./libs/armeabi-v7a/test-strtod
/opt/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip --strip-unneeded ./libs/armeabi-v7a/test-strtod
$ adb push libs/armeabi-v7a/test-strtod /data/local/tmp/test-strtod
366 KB/s (9492 bytes in 0.025s)
$ adb shell chmod 0755 /data/local/tmp/test-strtod
$ adb shell "cd /data/local/tmp && ./test-strtod"
d=0.000000
Boost C++ libraries на Android