2023年1月4日の投稿[2件]
VSCodeのSSH環境作りは予想外に簡単でした。
自宅でファイルサーバーになっているRaspberryPiに接続してC言語の実習をしております。
まずは基本であり多用するであろうポインタによる関数の呼び出し方です。ポインタはその昔挫折した要素でありますが、どうも勘違いのままアタマに刷り込まれてしまったようで、わかっているつもりなのに間違った組み立てが浮かんできます。これは正しい組み方を刷り込み直すしかありませんので、自分なりの課題で実験を繰り返すしかありません。
つい先ほど整理出来たのですが、ポインタ変数は定義した直後はnull値であって特定のアドレスは持っていません。int *num では実体の変数は定義されないということがわかったのですが、正にこういった点がその昔の勘違いなんですよね。「ポインタは実体変数の扱いを補助するための機能」という前提がアタマに入ったのでスッキリしました。「実体ではない」ということが明確になっただけでも私の中では大革命です。
あと、インクリメントとデクリメントについてメモ。
C言語では++numと書かないと期待値になりません。雰囲気的にnum++と書いてしまいがちですが、エラーにならんのにインクリメントされんのです。
デクリメントも--numとしないといけません。
計算記号が行頭にあっていいのかって疑問が湧きますが、慣用句として覚えておきましょう。
それにしてもVSCode+SSH+gcc+gdb環境は便利ですねぇ。
コンパイルから実行までの手数や所要時間が画期的に短い。エラーも丁寧に教えてくれるし、メモリがマネージされているからヘタなモノ書いてもシステムが飛ぶこともない。スクリプト言語をチョイチョイ書いているのと大差ありません。
デバッカーのお世話になるレベルになるにはまだまだかかりそうですが、こんなに簡単にC言語が扱えるなんて私の中では画期的過ぎです。25年前と一緒にすんなって話ですけどね。
#C言語
自宅でファイルサーバーになっているRaspberryPiに接続してC言語の実習をしております。
まずは基本であり多用するであろうポインタによる関数の呼び出し方です。ポインタはその昔挫折した要素でありますが、どうも勘違いのままアタマに刷り込まれてしまったようで、わかっているつもりなのに間違った組み立てが浮かんできます。これは正しい組み方を刷り込み直すしかありませんので、自分なりの課題で実験を繰り返すしかありません。
つい先ほど整理出来たのですが、ポインタ変数は定義した直後はnull値であって特定のアドレスは持っていません。int *num では実体の変数は定義されないということがわかったのですが、正にこういった点がその昔の勘違いなんですよね。「ポインタは実体変数の扱いを補助するための機能」という前提がアタマに入ったのでスッキリしました。「実体ではない」ということが明確になっただけでも私の中では大革命です。
あと、インクリメントとデクリメントについてメモ。
C言語では++numと書かないと期待値になりません。雰囲気的にnum++と書いてしまいがちですが、エラーにならんのにインクリメントされんのです。
デクリメントも--numとしないといけません。
計算記号が行頭にあっていいのかって疑問が湧きますが、慣用句として覚えておきましょう。
それにしてもVSCode+SSH+gcc+gdb環境は便利ですねぇ。
コンパイルから実行までの手数や所要時間が画期的に短い。エラーも丁寧に教えてくれるし、メモリがマネージされているからヘタなモノ書いてもシステムが飛ぶこともない。スクリプト言語をチョイチョイ書いているのと大差ありません。
デバッカーのお世話になるレベルになるにはまだまだかかりそうですが、こんなに簡単にC言語が扱えるなんて私の中では画期的過ぎです。25年前と一緒にすんなって話ですけどね。
#C言語
Windows上のVSCodeからSSHでRaspberryPiに接続してコードを編集・コンパイル・実行してみました。
コードは俗に言う「Hello, World」。コンソールに簡単な文字列を表示するだけのモノです。
VSCodeはユーザーインターフェースのデザイン更新が頻繁なのか、ネットの解説は出来るだけ新しいモノを参考にしないと見た目が違います。
インストールと設定は次の通り。
まずはRaspberryPi側から。sshでつながることを前提とする。
1)対象となるRaspberryPiをアップデート
$ sudo apt update
$ sudo apt upgrade
2)build-essentialをインストール。
$ sudo apt install build-essential
デバッカーのgdbが必要になる、上記で入らなかったらインストール
$ sudo apt install gdb
Windows(11)側
1)VSCodeをダウンロード
https://code.visualstudio.comってのが本家みたい。
環境に合わせてインストーラーをダウンロード
2)インストール
ダウンロードしたインストーラーを起動して初期設定のまま進めてインストール。選択項目がある場合はよくわからんけど一番上を選択。
3)起動後、機能拡張の日本語パックを入れる(参考ページは呆れるほどあります)
機能拡張のメニューから「Japanese Language Pack for Visual Studio Code」をインストール
インストール後、アプリを再起動すると大半のメニューが日本語になっています。
4)同じく機能拡張の「Remote Development」を入れる
他に必要な機能拡張は自動的に入ります。
5)ssh接続してみる
以下を参考にすれば繋がると思います。
「Visual Studio Codeを使ったC言語リモートコンパイルからリモートデバッグまで」
6)初回接続ではRaspberryPi側にも色々入れるようで少し時間がかかります。
7)この他にも自動的に入った機能拡張がありますが、よくわからんのでここには書きません。
Windows上のVSCodeでコーディング、コンパイル、デバッグ、実行が出来ました。
ブレークポイントありのデバッカーまで使えるのですから、Turbo-CのトラウマでC言語を敬遠していた時間が勿体ないと思える程に便利です。
#C言語
コードは俗に言う「Hello, World」。コンソールに簡単な文字列を表示するだけのモノです。
VSCodeはユーザーインターフェースのデザイン更新が頻繁なのか、ネットの解説は出来るだけ新しいモノを参考にしないと見た目が違います。
インストールと設定は次の通り。
まずはRaspberryPi側から。sshでつながることを前提とする。
1)対象となるRaspberryPiをアップデート
$ sudo apt update
$ sudo apt upgrade
2)build-essentialをインストール。
$ sudo apt install build-essential
デバッカーのgdbが必要になる、上記で入らなかったらインストール
$ sudo apt install gdb
Windows(11)側
1)VSCodeをダウンロード
https://code.visualstudio.comってのが本家みたい。
環境に合わせてインストーラーをダウンロード
2)インストール
ダウンロードしたインストーラーを起動して初期設定のまま進めてインストール。選択項目がある場合はよくわからんけど一番上を選択。
3)起動後、機能拡張の日本語パックを入れる(参考ページは呆れるほどあります)
機能拡張のメニューから「Japanese Language Pack for Visual Studio Code」をインストール
インストール後、アプリを再起動すると大半のメニューが日本語になっています。
4)同じく機能拡張の「Remote Development」を入れる
他に必要な機能拡張は自動的に入ります。
5)ssh接続してみる
以下を参考にすれば繋がると思います。
「Visual Studio Codeを使ったC言語リモートコンパイルからリモートデバッグまで」
6)初回接続ではRaspberryPi側にも色々入れるようで少し時間がかかります。
7)この他にも自動的に入った機能拡張がありますが、よくわからんのでここには書きません。
Windows上のVSCodeでコーディング、コンパイル、デバッグ、実行が出来ました。
ブレークポイントありのデバッカーまで使えるのですから、Turbo-CのトラウマでC言語を敬遠していた時間が勿体ないと思える程に便利です。
#C言語