手机上 C 语言编程方式攻略
[編輯] [转简体] (简体译文)概要
如何在手机上编程?整理近期收集的资料。tag: c4droid,ide,aide,cide,c,android,linux
正文
说明
为什么要折腾在手机上进行开发?因为当时初三的我被爸妈禁用了电脑,又按捺不住写代码的冲动,就偷偷摸摸在手机上捣鼓……于是整了一大堆相关的东西,整理如下。
也许这些东西没什么实际作用,但是看当时记了好多篇博客,还是留下来吧。相关博客现在整理成一篇,就是本文。
原文:
IDE 介绍,下载地址以及安装教程
c4droid(荐) 优点: 可以自己选择编译器(tcc / gcc / g++); 可以调试代码; 可以根据C语言代码离线编译出apk文件,而且,相比于 [C语言编译器IDE] ,c4droid对生成的apk文件提供有更多自定义选项; 界面朴素不花哨; 缺点: 自动补全功能薄弱; 对于使用普通输入法的用户来说,输入代码不太方便,不过这个问题文章待会会解决。 apk下载地址: 百度贴吧 [c4droid吧] 提供的各模块、各版本安装包。 具体:含有arm32, arm64, x86架构对应的版本,以及gcc模块、sdl图形库模块安装包(模块支持的都是选装),还含有手机信息查询工具的安装包。 原贴楼主给出的下载地址(下载地址1):https://pan.baidu.com/s/1c2dX9G8?errmsg=Auth+Login+Sucess&errno=0&ssnerror=0&#list/path=%2F&parentPath=%2Fsharelink1211160688-931402814957513&qq-pf-to=pcqq.group 根据上面的链接备份的下载地址(下载地址2):https://pan.baidu.com/s/1ZNS9AH4gvdDgLBjiRo3eag 提取码: 3ihj c4droid吧(百度贴吧)主页:https://tieba.baidu.com/f?kw=c4droid&ie=utf-8 下面的链接是我自己手机用的c4droid主程序的apk(arm32版),sdl支持的apk(这个是各版本通用的)(选装),gcc支持的apk(arm32版)(选装)。 这些apk也是来自上面的下载地址,但是从中选出了几个我需要用到的apk。 其中 gcc模块的apk 分卷压缩了,需要两个压缩包都下载,再解压其中任意一个文件。 安装教程: 根据你的手机架构,选择对应的apk进行安装,比如你是arm32的,那就可以用下载地址3;如果是x86的,那就可以去下载地址1或下载地址2找到对应的安装包;如果不知道手机架构是什么,一般来说是arm32,也可以在下载地址1或下载地址2中下载手机信息查询工具来看你的手机是什么架构。 确定好手机cpu架构后,你可以在对应的下载链接中找到如下的安装包: c4droid的主程序安装包(必须) gcc 模块的安装包(最好要) sdl 模块的安装包(选装,如果要用sdl图形库的话就装) 按照需求下载上面的三个安装包,然后先安装c4droid的主程序,随后把需要的模块安装好。 进入c4droid,点右上角,进入设置,找到“安装GCC”和“安装SDL”的地方。 点击它们来安装你所需要的模块。在弹出的对话框中可以选择附加的组件,然后点“内部存储”,如下图: 它上面有四个组件可以选,第一个是“debugger”,用来调试的,但是使用体验一般(手机上能做到这样也还可以了,其他IDE都不能调试)。其他的不需要就不要勾选了。 这是我的设置界面,打了圈的是和默认设置不同的地方: 设置好之后就可以开始写代码了。 注意一下,编译器有tcc, gcc, g++可选,但是tcc和gcc都感觉有点毛病,强荐g++。 |
C语言编译器IDE 优点: 外观比较像VS; 可以双指缩放字体大小; 自动补全的体验也还行; 可以编译apk文件,但是这需要连接他的服务器来执行此操作,且自定义选项少。 缺点: 它没法设置自动换行; 高亮有点小bug; 打开程序时有几秒广告; 下载地址里分卷压缩了,需要两个压缩包都下载,再解压其中任意一个文件。 |
CIDE 优点: 有实时的报错; 输入代码体验较好; 自动补全很强大; 侧边栏有易用的目录浏览器; 缺点: 没法双指缩放字体大小; 无法关闭自动代码排版,且一定会删去多余的空行,使用自动补全时会强制性地自动排版附近的代码; 自动补全会闪退,未知条件下也会闪退(刚开始使用时未出现此问题); 暂不支持导出apk。 下载地址里分卷压缩了,需要两个压缩包都下载,再解压其中任意一个文件。 |
android是基于Linux的,所以代码是要基于linux的。
关于 inux 控制台如何进行画面操作(设置单个字符颜色,清屏,下划线,高亮,闪烁等等……),参考:
推荐链接:https://www.cnblogs.com/blueyunchao0618/p/11540153.html
备选:http://blog.chinaunix.net/uid-28458801-id-4581042.html
另补充手机上进行 android 软件开发方式
下载AIDE,可以进行android开发,还可以写java等。
它有一系列的软件,还可以web开发,游戏开发,等等。
关于文件编码问题
电脑转换文件编码很容易,notepa++啥的都很简单就可以转,但是手机很少这样的工具。
手机里的ide一般都只能看utf8文件,所以如果电脑的ascii编码文件传到手机上,要用这个转码才能看。
下面这个是我可以找到的唯一一个文件转码器,里面的gbk就对应里面的ascii,所以如果是电脑传来手机的ascii文件要在这个转码器里选gbk转utf8。
还有一个转换编码的方式:手机文件管理器里选择使用“HTML Viewer”打开ASCII编码文件,可以显示正常,这时把内容复制到只支持utf-8的ide中就可以正常了。
推荐在手机上编程用的输入法:
codeboard 手机敲代码用的键盘
如果用手机编程,输入法是很难用的,因为打一些符号很麻烦。这个输入法就比较适合写代码,但是它的键位比一般的输入法有一些偏移,需要适应一下。
下载:
https://github.com/zouhuidong/NetDisk/tree/main/codeboard
whatsinput 将局域网内的电脑作为手机的输入键盘
先使用whatsinput和手机连接,进入手机的ide,可以在whatsinput中看到你的代码,然后可以用whatsinput编辑代码。如果你觉得whatsinput里的输入框不好用,可以从输入框中把代码复制到电脑版的在线编辑器中把代码编辑好再用whatsinput回传到手机中。
将手机电脑连到一个网络,然后在手机上启用这个输入法,输入法会显示一个ip地址,类似“192.168.1.4:6688”,你把手机上的这个地址输入电脑浏览器,可以看到一个文本框,在这里面输入文字,文字就输入到了手机上。
下载: https://github.com/zouhuidong/NetDisk/tree/main/whatsinput
警告!这个输入法有点鸡肋,如果你用它来在手机上输入代码,若原本手机上的ide内有代码,但是whatsinput的输入框中没有代码时,千万千万不要在whatsinput的输入框中进行输入,这样会覆盖你的ide中的所有内容的!大部分ide不支持撤销,如果写的代码被覆盖的话,那就什么都没了。
手机上的模拟功能性键盘:游戏键盘(gamekeyboard)
可以模拟手柄,模拟电脑键盘(tab, ctrl, f1~f12 等功能键),可以使输入法保持悬停,不会因为失去输入焦点而关闭输入法。