• 前言

    都知道,在Windows,Linux,Mac等平台上,C语言程序的运行十分简单,但是在移动端上,比如Android系统上,就存在一些困难。本文就是为解决这一问题而生。

    方案一

    我比较推荐,因为这个方法比较完善,C语言执行结果较好。

    需求

    需要运行如下C语言程序

    1
    2
    3
    4
    5
    6
    #include <stdio.h>
    int main() {
    printf("HelloWorld!My C\n");
    return 0;
    }

    准备

    1. 在Google Play或者其他应用商店下载Termux软件并安装。

    2. 打开Termux,执行

      1
      ls

      命令,没有出现storage字样,就必须

      1
      termux-setup-storage

      方便以后访问sdcard文件内容。

    3. 了解Termux软件的目录是~/storage/shared/,其下文件才是你在系统的文件管理器下看到的文件

    4. 安装C语言编译程序

      1
      pkg install clang

    开始

    首先执行

    1
    cd storage/shared/

    接下来便可以执行你的C语言程序了。
    我需要运行上述需求里的C语言代码,我需要新建一个文件夹(如myc文件夹),可以手动用文件管理器创建,也可以用命令

    1
    mkdir myc

    打开新建的文件夹(我新建的是myc文件夹,所以我打开cd myc)

    1
    cd myc

    下面可以手动或者命令新建一个以.c结尾的文件,(我创建一个ifirst.c),用文本的方式打开,输入上述需求中的代码。保存后,就可以运行了。

    运行C

    1. 可以使用

      1
      gcc -o te ifirst.c

      编译ifirst.c文件,生成te文件,接着运行编译好了的te文件

      1
      ./te

      就可以看见程序输出HelloWorld!My C的结果了。

    2. 也可以使用

      1
      clang ifirst.c

      或者

      1
      gcc ifirst.c

      两者效果一样
      编译ifirst.c文件,生成a.out文件,接着运行编译好了的a.out文件

      1
      ./a.out

      也会得到HelloWorld!My C的结果

    关于Permission denied的错误处理

    运行上述编译好了的文件te或者a.out有的会报错:Permission denied,建议按照如下方法处理。
    原因是在sdcard目录没有运行的权限

    • 可以使用

      1
      cp  ./te  ~/te

      再运行

      1
      ~/te

      结果变正常了

    • 或者使用

      1
      cp  ./a.out  ~/a.out

      再运行

      1
      ~/a.out

      也可以

    • 使用脚本

    1. 下载runC文件:下载runC,解压后将其中的runC文件复制到C语言程序目录
      或者 在C语言程序目录
      1
      wget -O runC https://gitee.com/kuangtant/runC/raw/master/runC
    2. 将runC文件和你要运行的C语言程序放在一起,采用gcc 编译,我的是ifirst.c
      1
      gcc ifirst.c
      生成a.out文件
    3. 最后,命令执行
      1
      bash runC
      就可以看到结果了

    方案二

    网络上的C语言编译器较多,可以下载使用,不过还是最推荐方案一;

    由于这类产品的编译结果及原理各有千秋,所以,具体效果如何,就不一一推荐了。

    本文视频教程

    1. 优酷视频:https://v.youku.com/v_show/id_XNTgwNzg3MDQyOA==.html
    2. 腾讯视频:https://v.qq.com/x/page/y3277qnfm8s.html
    上一篇:
    Android的java运行方案
    下一篇:
    Git的详细配置
    本文目录
    本文目录