good-arrow’s blog

https://good-arrow.net/

C言語プログラミング環境/gcc (ストア Ubuntu ) × VSCode 編

はじめに

C言語コンパイラにもいくつか種類がありますが、
gccLinux の標準的なC++コンパイラとなります。
WSLを使えば、マイクロソフト製品のみで完結します。

事前準備

環境構築にあたり、
1. Microsoftストア版 Ubuntu / WSL(Windows Subsystem for Linux)の導入
2. プログラミング環境「VSCode」のインストール
を事前に実施してください。



【準備1】コンパイラを用意する

Ubuntuコンパイラgcc」をインストールする

sudo apt install build-essential -y

以上です。ちゃんと入ったか確認。

gcc --version



【準備2】VSCodeの環境を作る

プログラミングの作業場所を用意する
Windows上の好きな場所に「C++」フォルダを作成します。

(例) D:\C++

f:id:harukeee:20190531163326p:plain



VSCode で作業フォルダを開く

VSCodeのメニューから [ファイル] → [フォルダーを開く] を選び、
先程の D:\C++ を「フォルダーを選択」で開きます。



プログラム「HelloWorld.c」を作成する

左ペイン「C++」フォルダーの右側にある「新しいファイル」から
ファイルを作成し、名前を「HelloWorld.c」とします。
f:id:harukeee:20190531163541p:plain
f:id:harukeee:20190531163559p:plain



「HelloWorld!」と表示する簡単なプログラムを書く

下記コードをコピーし、HelloWorld.cに貼り付け、保存してください。

#include <stdio.h>
void main()
{
    printf("Hello, World.\n");
}

f:id:harukeee:20190531163717p:plain



【準備3】VSCodeのターミナル上でコンパイルする

VSCodeUbuntu のコマンドを実行できるように設定します。
1. VSCodeを起動
2. メニューから [ファイル] → [基本設定] → [設定] を開く
3. 「ワークスペース」を選んでから、画面右上の{}アイコンをクリック
f:id:harukeee:20190531164023p:plain

「settings.json」が開きますので、下記の行を追加し、保存してください。

"terminal.integrated.shell.windows": "C:/Windows/System32/wsl.exe"

f:id:harukeee:20190531164408p:plain

間違えるとVSCodeが正しく起動しなくなる可能性があります。
間違えた場合は、以下の場所からファイルを直接修正してください。

(例)D:\C++\.vscode\settings.json



VSCodeのターミナル画面を開く

キーボードの「Ctrl+@」キーでターミナルを開きます。
f:id:harukeee:20190531164525p:plain

初期値が「1:Powershell」になっています。
隣の「+」ボタンを押すと「wsl」が追加、切り替わります。
f:id:harukeee:20190531164557p:plain



コンパイルと実行

コンパイルコマンド

ターミナルで下記のコマンドを実行すると、「hello.exe」をいうプログラムが作成されます。

gcc -o hello.exe HelloWorld.c

[説明]
- 「gcc」→ 準備1でインストールしたコンパイラ
- 「-o hello.exe」→ 出力ファイル名の指定
- 「HelloWorld.c」→ C言語のプログラムコード

プログラムの実行

同じく VCCode のターミナルから下記コマンドでプログラムが実行されます。

./hello.exe

[説明]
Linuxでは、プログラム実行時に必ずフォルダパス「./」が必要になります。
f:id:harukeee:20190531165011p:plain

ターミナルに「Hello, World. 」と表示されれば成功です。

以降は、

  1. プログラムを書く
  2. コンパイルする(> gcc -o hello.exe HelloWorld.c)
  3. 実行する(>./hello.exe)

の繰り返しとなります。

参考1

Ubuntuから見た場合、Winodws上のファイルは「/mnt」配下になります。
(例)
Cドライブの場合 → /mnt/c Dドライブの場合 → /mnt/d

参考2

Ubuntu上でフォルダ移動が面倒な場合、ショートカット作成可能が有効です。
Linuxでのショートカット作成は「ln」コマンドを使います。

ショートカットを作成したい場所に移動し、ショートカット先を指定します。
(例:C:\Users\haruki\Desktopへのショートカットを作成する場合)

ln -s /mnt/c/Users/haruki/Desktop

ショートカットを削除したい場合は「unlink」コマンドを使用します。

unlink Desktop_Shortcut

以上。