15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 在手机上使用termux写C++代码并编译运行

在手机上使用termux写C++代码并编译运行

时间:2023-07-27 14:21:01 | 来源:网站运营

时间:2023-07-27 14:21:01 来源:网站运营

在手机上使用termux写C++代码并编译运行:本文将会介绍如何使用termux写C++代码并编译运行。

本文无任何图片(惊了),流量党可放心围观。


下载安装termux

下载安装前手机建议腾出500MB以上的空间。

如果可以科学上网建议在谷歌应用商店下载。

如果不能科学上网建议在酷安下载。

更换国内镜像源

安装好后建议先换上国内镜像源,避免未科学上网时下载失败或网速过慢。

更换清华大学镜像源使用如下命令:

sed -i 's@^/(deb.*stable main/)$@#/1/ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
相关帮助链接:https://mirror.tuna.tsinghua.edu.cn/help/termux/

更换中国科学技术大学镜像源使用如下命令:

sed -i 's@^/(deb.*stable main/)$@#/1/ndeb https://mirrors.ustc.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
相关帮助链接:http://mirrors.ustc.edu.cn/help/termux.html

换源后应及时更新镜像源,使用如下命令:

apt clean
pkg up
如国内镜像源出现问题、出现错误或不能下载到想要的软件,可以换回官方镜像源:

sed -i 's@^/(deb.*stable main/)$@#/1/ndeb https://termux.net/ stable main@' $PREFIX/etc/apt/sources.list
当无法连接官方镜像源时应科学上网再次尝试。

linux基础命令

termux是一个免root的linux模拟器,所以使用时应掌握一些linux的命令。当然没掌握也没关系,下面会有一些linux的基础命令供参考。

cd <目录地址> 打开目录地址
cp <文件名> <目标目录地址> 拷贝到目标目录地址
mkdir <文件夹名> 新建文件夹
rm <文件名> 删除文件
rm -rf <文件夹名> 删除文件夹
ls 查询该文件夹下文件及文件夹
更多命令请自行搜索相关资料。

安装软件及工具

这里给出安装我们需要的软件的命令,可根据需求自行更改。

如使用官方镜像源,请科学上网。

pkg install vim clang python gdb cgdb curl
vim的使用

下面是vim的一些简单命令。

vim <文件名> 编辑文件,若文件不存在则自动创建新文件

i 切换到编辑模式
ESC 退出编辑模式
:x 保存退出
:q 未改动退出
:q! 不保存退出
更多命令请自行搜索相关资料。

C++的编译与运行

编译:

切换到cpp文件目录(cd <目录>)后命令如下:

g++ <cpp代码文件> -o <生成程序名>
如:

g++ hello.cpp -o hello
即可在该目录下生成名为hello的可执行文件。

运行:

./<可执行文件名>
如:

./hello
即可执行hello程序。

如出现如下错误:

permission denied

则说明没有权限访问该程序,此时输入:

chmod -x <程序名>
如:

chmod -x hello
即可执行。

可选步骤

以下为可选步骤,但非常建议做一做。

建议在根目录中新建一个文件夹作为工作目录,如果你比较懒,之后直接在根目录中编辑文件也是可以的。

名字建议用纯英文字母,方便进入。

建议不使用会与命令起冲突的名字,比如gcc,cpp。

其实可以不配置,但是非常建议配置。

不选用vim的可以跳过此步。

配置之后会给打代码增添不少便利。

执行如下命令:

vim ~/.vimrc
将下面大括号内部内容复制粘贴进去保存即可。

可根据需要自行修改。

{

" 设置当文件被改动时自动载入
set autoread
" quickfix模式
autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
"代码补全
set completeopt=preview,menu
"允许插件
filetype plugin on
"共享剪贴板
set clipboard=unnamed
"从不备份
set nobackup
"自动保存
set autowrite
set ruler " 打开状态栏标尺
set cursorline " 突出显示当前行
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable " 开始折叠
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" 语法高亮
set syntax=on
" 去掉输入错误的提示声音
set noeb
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=1000
"禁止生成临时文件
set nobackup
set noswapfile
"搜索忽略大小写
set ignorecase
"搜索逐字符高亮
set hlsearch
set incsearch
"行内替换
set gdefault
"编码设置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"语言设置
set langmenu=zh_CN.UTF-8
set helplang=cn
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
" 总是显示状态行
set laststatus=2
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 字符间插入的像素行数目
set linespace=0
" 增强模式中的命令行自动完成操作
set wildmenu
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 为C程序提供自动缩进
set smartindent
" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
"C++的编译和运行
"编译运行
map <F10> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc
"编译
map <F8> :call CompileGpp()<cr>
func! CompileGpp()
exec "w"
exec "!g++ % -o %<"
endfunc
"运行
map <F9> :call RunGpp()<cr>
func! RunGpp()
exec "w"
exec "! ./%<"
endfunc
}

保存后再次进入一个cpp文件时,编辑将会更加方便,并可以在vim编辑器中直接编译和运行。

操作方法为:

F8(音量+键 + 8) 编译
F9(音量+键 + 9) 运行
F10(音量+键 + 0) 编译并运行
使用zsh来替代bash作为默认shell。

在已安装curl的情况下使用以下命令:

sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
Android 6.0以上可能会弹框确认是否授权访问文件,点击允许,之后会在termux根目录生成storage目录,可以方便地对外部文件进行操作。

安装成功后先后会有两个选项,分别选择背景色和字体,如下:

Enter a number, leave blank to not to change:
Enter a number, leave blank to not to change:
我选的是14和6,仅供参考。

如果希望再次更改配色,可执行如下命令:

~/termux-ohmyzsh/install.sh
重启软件或开启新session生效。

可以编辑问候语文件直接修改问候语。

输入如下命令即可修改:

vim $PREFIX/etc/motd
保存重启即可。

termux的其他玩法

termux作为一个linux模拟器,可实现的功能远远不止打打C++和python的代码,希望有更多的人能够认识termux的强大并挖掘出更多玩法,也希望能够有更多关于termux的优秀文章出现。


文章部分内容引用自网络(国光大佬的博客及其他)

2020.2.24 jwj作此文


...

...

...

...

...

彩蛋:

pkg install nyancat
nyancat

关键词:编译,运行,使用

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭