gpt4 book ai didi

android - 在 Android 设备中运行 C++ 程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:33 25 4
gpt4 key购买 nike

我正在编写 C++ 代码以在 Android 设备中执行“top”命令。这是我使用的代码。

using namespace std;

int main()
{
char buffer[1024];
string result;
system("top -n 1 | head -n 4 | tail -n 3");
FILE *memcpu= popen("top -n 1 | head -n 4 | tail -n 3","r");
while (!feof(memcpu)) {
if (fgets(buffer, 1024, memcpu) != NULL)
result+=buffer;
}
cout<<"result you need\n"<<result;
}

我想在 adb 设备中运行这个文件。因此我使用命令构建程序

arm-linux-gnueabi-g++ -static -march=armv7-a name.cpp -o test

当我运行程序时,字符串result 为空。

我通过在程序中包含 system("top -n 1"); 行来测试程序。但是我没有从 adb shell 获得任何输出(空字符串)。

我使用 g++ 构建相同的程序并在 linux pc 上运行。那时我得到了正确的输出。我无法从 Android 设备的 adb shell 中获得所需输出的原因可能是什么?

最佳答案

当你使用命令构建程序时

arm-linux-gnueabi-g++ -static -march=armv7-a name.cpp -o test

创建了一个静态二进制文件。为了链接 android 中的库,必须使用 android ndk build 构建程序。这为我解决了问题。

关于android - 在 Android 设备中运行 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com