我尝试使用各种终端模拟器应用在我的Android设备上运行c代码。到目前为止我已经尝试了3次,所有这些都给了我错误。我尝试的第一个是最流行的:终端IDE。自从Android的更高版本发布以来,由于位置无关的可执行(PIE)错误,此应用程序将无法编译c代码。接下来是一个名为termux的有前途的应用程序。 这个应用程序允许我用gcc编译我的C代码但是给了我"权限被拒绝"每当我尝试运行最简单的代码时都会出错。我彻底检查并研究了这个错误。我尝试以各种不同的方式使用chmod
以及使用ls -l
检查权限,并尝试在内部设备存储上的外部SD卡AS WELL AS中进行编译和运行。我知道SD卡没有执行权限,但即使在我设备的内部存储器中它仍然无法工作。我已经向termux创建者寻求帮助,但无济于事。无论我做什么,我似乎无法在我的Android设备上运行这些代码。它没有根深蒂固,我也不打算在不久的将来生根。所有这些应用程序声称它们应该在不支持设备的情况下工作。我终于尝试在另一个名为gnuroot的应用程序(我的最后希望)中运行C代码。不幸的是,我仍然得到了权限被拒绝的错误,但是代码确实像在termux中那样进行编译。顺便说一下,我无法访问这些应用程序创建的任何目录。它们隐藏在"我的文件中。应用程序通常让我浏览我的设备上的目录。但是,当我输入ls
时显示的目录不在我的文件应用程序中,因此我无法直接在其中放置任何文件。我只能看到termux和gnuroot的基本主目录,但是当我尝试将代码放在那里时,我仍然得到权限被拒绝错误。此外,我不知道甚至放置代码以使其工作的目录。我完全迷失了,真的需要帮助。谢谢。
答案 0 :(得分:2)
我使用gcc在termux下运行得很好。
在编译时,使用-o
选项编译代码,而不是-c
,如下所示:gcc -o helloworld helloworld.c
将使用执行权限创建目标文件
helloworld
,您可以使用./helloworld
运行它。请注意,源文件必须首先位于主目录中。如果您还没有更改环境变量,请首先使用
cd
转到主目录,然后在那里编译源文件。
答案 1 :(得分:2)
在Termux中,如果您使用Midnight Commander或Ranger,您可以从家中返回一个目录到文件,然后在那里您可以找到apps / etc,/ bin,/ usr,/ etc ..目录。也许这是您可以找到或发送您正在寻找的文件的地方。
答案 2 :(得分:1)
尝试升级Termux。只需运行:
“包升级”(没有引号)
在命令行中。 如果这样不能解决问题,请运行:
“package install termux-exec”(没有引号)
希望得到这个帮助。