ライブラリについて

前置き

 

教授にまずネットワークを何故学びたいと思ったのかを聞かれた。

その時に自分は大学のプログラミング演習について行けなかったので、消去法で成績もそこそこ取れたネットワークにしたと答えた。

それなら、大学の演習の事は除いた時にプログラミングはやりたい?やりたくない?と聞かれたので、

将来どんな道に進んでもプログラミングは役にたつと思うのでやりたいですと答えた。

そこからまずライブラリを学習することになった。

まずスタティックライブラリとダイナミックライブラリを用いた簡単な計算プログラムを作ってその違いについて発表してと言う課題を提示された。

自分にはライブラリと言うものについての理解も怪しかったし、課題に出されたライブラリの違いなんてちんぷんかんぷんだった。

とりあえず、作れば分かってくるだろうと思いまとめ始めた。

 

ライブラリについて

まずライブラリについて大まかな説明を行う。

ライブラリとはプログラムが参照するコードやプログラムのことである。

例えば足し算や引き算などの多くの頻度で用いられるものは、関数などにして呼び出しを簡素化することが多いが、多くの場合それらをまとめて違うファイルにしたものがライブラリである。

 

次にライブラリについて具体的な説明を行う。

ただし、説明を理解するにはプログラムがどのようにして作成され、実行に至るのかを説明する必要がある。

プログラムにはブラウザ上で動く物と、パソコン上で動く物(Windowsの場合は多くはexeファイル)があり、エディタなどを用いて書かれたコードを、コンパイラC言語だとgcc)と呼ばれるプログラムがパソコン(CPU)が実行できるコード(機械語と呼ばれる0,1表記のもの)に変換し、それをパソコンが実行している。このとき変換する過程をコンパイルと呼ぶ。また、プログラムによってはライブラリを用いる事や、複数人で作ったものがあるから、複数のファイルで一つのプログラムを書くことがある。そのようなときはファイル毎にコンパイルが行われ、最後にリンカーが一つのプログラムにする。

以上が実行ファイルが作成されるまでの流れである。

 

ライブラリの違いは参照のされるタイミングの違いである。

スタティックライブラリはコンパイラにかかるまでにIncludeなどで参照され、ダイナミックライブラリはプログラムが実行された時に初めて参照される。

そのため、ダイナミックライブラリはライブラリが必要がないときには呼び出さなければ、メモリの使用をスタティックライブラリで作成したプログラムよりも少なくできる。

また、配布するときもライブラリを修正した時にはダイナミックライブラリのファイルのみを配布すれば良い。

はじめにと蛇足

はじめに

 

このブログはFラン情報大学生の学部4年生の私が大学生活を振り返って学んだことを、書き起こしていくブログである。

書き起こすことによって、自分の復習&再勉強を目的にしているが、それだけではなく少しでも他の情報系の大学生などの役にたてれば嬉しく思う。

内容は技術的なものや就職活動における事などを書き起こしていくつもりだ。

 

蛇足

 

私の背景になる話である。

私は高校生の時に持ったスマートフォンを切っ掛けに、ブラウザでホームページを閲覧する仕組みや、ネットワークの仕組みに興味があったので情報系の学科を選んだ。

最初の頃は受験に受かった直後だからか勉強に対するモチベーションが高く、熱心にノートを取っていたが、段々とモチベーションが下がり漠然と授業を受け、その授業が何に役立つか考えることや質問することもなくなっていった。

その場凌ぎの無意味な暗記を試験の為にし、可もなく不可もない成績をとり、アルバイトで稼いだお金を友人とゲームセンターに行って消費していく日々が続き、あっと言う間に2年生の夏になった。

その頃、バイト中にエリアチーフが来ている中居眠りをした私は自主的にバイトをやめた為、お金はないが、時間が有り余ると言う生活を送っていたので、それまで考えてこなかった「これからの事」を考え始めた。

「もうすぐ3年生になるし就職活動をしていかないといけないなぁ」と考え、思い回してみるとこれといった得意科目や資格がなかったので、何とか目に見える資格などを取ろうと基本情報技術者試験などに励んだが、勉強不足で落ち「でもまだ大丈夫だろう」と言う謎の自信を持ちながら過ごしていた。

 

秋が過ぎ冬になり、1月の下旬ごろの2年生最後の授業で

「これから冬休みに入りますが勉強したい人は良かったらこの後前に来てください。相談に乗ります」と言う教授の言葉を聞き、私は

「教授のもとで勉強すれば実力がつく。そうすれば就職を乗り切れるのでは?」

「最悪、力はつかなくても教授と仲良くなっておけばコネで就職できるのでは?」などと考え

「ネットワークに興味があるのですが、何から勉強すればいいですか?」と聞いた。

「それならこの本を買って勉強すると良いよ」とアドバイスをもらい、

「やる気があるなら冬休みに研究室に来たらどう?」と誘われた。

 

その日から、今日に至るまでの事を書き起こしていく。