5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iSHを使ってiPadでC言語開発

Last updated at Posted at 2021-12-18

はじめに

この記事は東京高専プロコンゼミ① Advent Calendar 2021の18日目の記事です.

きっかけ

なにもしてないのにぱそこんがこわれた
どうやらSSDを認識していないらしく,WindowsやLinuxの再インストールもできない状況.

学校のプログラミングの課題をiPadでやろうと試みるお話です.
家に帰ればデスクトップPCがあるので,とりあえずCを書いて実行できればOKといった感じです.

実行環境

  • iPad(第8世代)Wi-Fiモデル
    • iPad OS 15.1
    • iSH バージョン1.2.2

Bluetooth接続の外付けキーボードがあるとすごく便利です.

iPadでLinuxを使う

iSHというアプリをAppStoreでインストールします.Alpine Linuxのエミュレータらしい.
ちなみにiPhoneでも使えるようですが,持っていないので試していません.

C言語を書く

各種パッケージのインストール

「apk」というパッケージマネージャを使用してGCCをインストールします.

$ apk add gcc

エディタにはVimを使います.インストールの要領は同じ.

$ apk add vim

CLI版のEmacsも使えるようです.

apkが使えなかった場合
今は使えるみたいですが,使えなかった場合は以下のコマンドでapkをインストールします
$ wget -qO- http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk | tar -xz sbin/apk.static && ./sbin/apk.static add apk-tools && rm sbin/apk.static && rmdir sbin 2> /dev/null
## C言語を書いて実行する 「hello.c」を作成し,Vimで編集します.
$ touch hello.c
$ vim hello.c

とりあえず「Hello World!」と出力するプログラムを書きます.

hello.c
#include <stdio.h>

int main() {
    printf("Hello World!\n");
    return 0;
}

コンパイル&実行

$ gcc hello.c
$ ./a.out

IMG_0026.PNG

こんな感じ.

実際の開発では何かしらの影響が出るかもしれませんが,授業の課題ぐらいならこれでいけます(おそらく).

おまけ

tmux
ぱっと試した感じ使えます.使い込んだらまた違うかもしれませんが.
Git
使えます. 「openssh」をインストールすればsshで接続することもできます.
Python
簡単なコードの実行は可能です. ただvenvやpipがやたら重いです.
Rust
公式のインストールコマンドではインストールができません.
cargoやrustcはインストールできますが,コマンドを使うと「Illegal instruction」と言われてコンパイルできません.
ちょっと調べた感じ一筋縄ではいかなそうだったので断念しました.
Ruby
Rubyのインストールはできますが,実行はやたらと重いです. rbenvは使えないです.
GUI
xrdpを使ってLinuxのデスクトップ環境を使用できないかチャレンジ中です.

参考文献

iSH公式サイト
iPadで動くLinuxエミュレーター「iSH」がすごいと私の中で話題に - Qiita

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?