独習C、第6章のポインタと第7章関数まで終わりました。率直な感想は、アセンブラの方が分かりやすいような気がしています。C言語は複雑に感じています。未だにポインタの*と&をどう使うか、練習が足りないのか深く理解はできていません。関数は複雑です。特に回帰はどうなっているんだろうという印象です。関数の学習では VisualStudio が役立ちました。回帰関数では1行ずつ実行させるステップインで、前の呼び出し元に戻ったり、先に進んだりする動作の確認ができました。メモリの値の変化が確認できないようなので、ちょっと残念です。これから復習を重ね、深く理解できるようにしていきたいと思います。
--- ChatGPTは便利です---
geany で sqrt が使えなかったので、ChatGPTに聞きました。教えてもらって、使えるようになりました。そのやり取りを、お伝えします。
Geanyを使って答えてください
ChatGPT
もちろんです。Geanyを使用してC言語プログラムを書き、libm.so.6数学ライブラリを使う方法を説明します。
Geanyを開く: 最初にGeanyを開きます。
新しいファイルを作成: ファイル -> 新規作成を選択して新しいCファイルを作成します。
ファイル名をmain.cなどとして保存します。
Cプログラムの書き込み: main.cファイルに、先程示したCプログラムのコードを書き込んで保存します。
コンパイルオプションの設定: プログラムをコンパイルする際に、libm.so.6をリンクするオプションを設定する必要があります。
Geanyでこれを行う方法は、ビルドメニュー -> 設定を開いて、"コンパイラ" タブを選択し、
"追加のコンパイラオプション" の欄に -lm を追加することです。これにより、数学ライブラリがリンクされます。
プログラムの実行: メニューバーのビルド -> コンパイルを選択してコードをコンパイルし、
次にビルド -> 実行を選択してプログラムを実行できます。
コンパイル時にlibm.so.6が正しくリンクされていれば、プログラムは正常に実行されるはずです。
以上で、Geanyを使用してCプログラムにlibm.so.6数学ライブラリをリンクして実行する方法が完了です。
User
コンパイルオプションの設定:をもう少し詳しく説明してください。
ChatGPT
申し訳ありません、Geanyは比較的シンプルなIDEで、設定オプションが他のIDEに比べると少なめです。
しかし、Geanyを使ってコンパイルオプションを設定する方法をより詳しく説明いたします。
Geanyを開く: 最初にGeanyを開きます。
ビルド設定を開く: メニューバーから「ビルド」をクリックし、その後「設定」を選択します。
ビルドコマンドとコンパイラオプションの設定:
「ビルドコマンド」の欄には、通常 gcc -o %e %f -lm と入力します。これは、gccコンパイラを使ってプログラムをコンパイルする際の基本的なコマンドです。-lmは数学ライブラリをリンクするオプションです。%eは実行可能ファイルの名前、%fは現在開いているファイルの名前を表します。これにより、現在のファイルをコンパイルして実行可能ファイルを生成します。
「追加のコンパイラオプション」の欄には、必要な場合に追加のコンパイラオプションを入力できます。例えば、数学ライブラリをリンクする場合は、ここに -lm を入力します。***これで解決しました***
設定の保存: 設定を入力したら、画面下部にある「OK」ボタンをクリックして設定を保存します。
これで、Geanyは指定したコンパイラオプションを使ってCプログラムをコンパイルします。ファイルを保存した後、ビルド -> コンパイルを選択すると、Geanyは設定したコンパイラオプションを使ってプログラムをコンパイルします。
User
できました。ありがとうございました。助かりました。
ChatGPT
どういたしまして!お役に立てて嬉しいです。もしご質問があれば、どうぞお気軽にお聞きください。成功をお祈りしています!
***ウェブサイトでかなり調べたのですが、時間の無駄でした。ChatGPTですぐにわかりました。これからも使っていこうと思いました。***
下がその画像です。
---じいじの工作---
ブロックのおもちゃがやっと12個、揃いました。次は最後に入手した「つかみ機」をBタイプに変えるように、孫に言われています。それが終わったら、「超BIGトレーラー」を組み立てることができます。当初はどんなものか分からないので、2個くらい買って試していました。少しずつ増やしていくと、大きなものにチャレンジしたくなりました。ところが、ダイソーの店舗ではなかなか入手できません。ダイソーのウェブショップでは、12個セットしか販売していません。何回も店舗に問い合わせて、ようやく入手できました。もし作りたい方がおられたら、セットの購入をお勧めします。
---今日の一言---
イスラエルでも戦争が始まりました。なぜ、戦争がなくならないのでしょうか?一般の国民は、絶対平和を望んでいると思います。一部の支配者・為政者が戦争を始めます。私たちは日頃から、「平和を望んでいる事」を意思表示していかなければいけないと思います。私はタバコを吸っています。タバコ増税のお金を防衛費の当てることを聞き、「禁煙」することにしました。今、吸う本数が半分くらいになったところです。