Q1)我想在Android模拟器上运行一个简单的C程序。我在机器上使用windows xp操作系统。我已经安装了sdk, jdk, eclipse用于Android开发,并成功在AVD上运行Android应用程序。Q2)我只需要知道有没有办法在AVD上运行C程序(没有任何Java)。在我的机器上我安装了arm,并使用它编译了一个C程序。Q3)我还想知道是否可以将编译后的二进制文件推送到android设备或AVD中,并使用android设备或AVD的终端运行?
windows xp
sdk, jdk, eclipse
AVD
qxsslcnc1#
您可以使用ARM交叉编译器编译C程序:
arm-linux-gnueabi-gcc -static -march=armv7-a test.c -o test
然后你可以把编译好的二进制文件推到某个地方(不要把它推到SD卡上):
adb push test /data/local/tmp/test
b4lqfgs42#
如果您已成功安装NDK,请从它示例应用程序开始http://developer.android.com/sdk/ndk/overview.html#samples如果你有兴趣的另一种方式,那么可能这将有助于http://shareprogrammingtips.blogspot.com/2018/07/cross-compile-cc-based-programs-and-run.html我还想知道是否可以将编译后的二进制文件推送到Android设备或AVD中,并使用Android设备或AVD的终端运行?在这里您可以看到NestedVMNestedVM提供Java字节码的二进制翻译。这是通过让GCC编译成MIPS二进制文件,然后将其翻译成Java类文件来完成的。因此,任何用C,C++,Fortran或GCC支持的任何其他语言编写的应用程序都可以在100%纯Java中运行,而无需更改源代码。示例:Cross compile Hello world C program and run it on android
1bqhqjot3#
您需要下载Native Development Kit。
cgyqldqp4#
public int findDuplicate(){
// Read the number of rows from the user printf("Enter the number of rows: "); scanf("%d", &rows); // Pattern 1 printf("\nPattern 1:\n"); for (i = 1; i <= rows; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 2 printf("\nPattern 2:\n"); for (i = rows; i >= 1; i--) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 3 printf("\nPattern 3:\n"); for (i = rows; i >= 1; i--) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 4 printf("\nPattern 4:\n"); for (i = 1; i <= rows; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 5 printf("\nPattern 5:\n"); for (i = 1; i <= rows; i++) { if (i % 2 != 0) { for (j = 1; j <= rows; j++) { printf("*"); } } else { printf("*"); } printf("\n"); } // Pattern 6 printf("\nPattern 6:\n"); for (i = 1; i <= rows; i++) { for (j = 1; j <= i; j++) { printf("*"); } for (j = 1; j <= rows - i; j++) { printf(" "); } for (j = 1; j <= rows - i; j++) { printf(" "); } for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 7 printf("\nPattern 7:\n"); for (i = rows; i >= 1; i--) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } // Pattern 8 printf("\nPattern 8:\n"); for (i = 1; i <= rows; i++) { for (j = 1; j <= i; j++) { printf("*"); } for (j = 1; j <= rows - i; j++) { printf(" "); } for (j = 1; j <= rows - i; j++) { printf(" "); } for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } return 0;
}
j2datikz5#
如果你想直接在你的Android设备上编译和运行Java/C/C应用程序,我推荐Google Play的Terminal IDE环境。这是一个非常光滑的包,可以直接在你的设备上开发和编译Android APK,Java,C和C。界面都是基于命令行和“vi”的,所以它有真实的的Linux感觉。它附带了gnu C/C++实现。此外,还有一个telnet和telnet服务器应用程序内置,所以你可以做所有的编程与您的PC和大键盘,但工作的设备。没有根权限是必要的。
5条答案
按热度按时间qxsslcnc1#
您可以使用ARM交叉编译器编译C程序:
然后你可以把编译好的二进制文件推到某个地方(不要把它推到SD卡上):
b4lqfgs42#
如果您已成功安装NDK,请从它示例应用程序开始
http://developer.android.com/sdk/ndk/overview.html#samples
如果你有兴趣的另一种方式,那么可能这将有助于
http://shareprogrammingtips.blogspot.com/2018/07/cross-compile-cc-based-programs-and-run.html
我还想知道是否可以将编译后的二进制文件推送到Android设备或AVD中,并使用Android设备或AVD的终端运行?
在这里您可以看到NestedVM
NestedVM提供Java字节码的二进制翻译。这是通过让GCC编译成MIPS二进制文件,然后将其翻译成Java类文件来完成的。因此,任何用C,C++,Fortran或GCC支持的任何其他语言编写的应用程序都可以在100%纯Java中运行,而无需更改源代码。
示例:Cross compile Hello world C program and run it on android
1bqhqjot3#
您需要下载Native Development Kit。
cgyqldqp4#
包含<stdio.h>
public int findDuplicate(){
}
j2datikz5#
如果你想直接在你的Android设备上编译和运行Java/C/C应用程序,我推荐Google Play的Terminal IDE环境。这是一个非常光滑的包,可以直接在你的设备上开发和编译Android APK,Java,C和C。界面都是基于命令行和“vi”的,所以它有真实的的Linux感觉。它附带了gnu C/C++实现。
此外,还有一个telnet和telnet服务器应用程序内置,所以你可以做所有的编程与您的PC和大键盘,但工作的设备。没有根权限是必要的。