概要

 

流し読みノート

相互ってのは何と何の相互や

  • ネイティブ API と C# コードの相互や。というより C# がネイティブ API を利用することを指してる。
  • ネイティブ API って何や。
    • .NET で実装されていないソフトウェアコンポーネントのことや。
    • DLL とか COM とか Windows ランタイム型のこと。
    • 別名、 unmanaged code。
  • というわけで相互ってのは C# コードが DLL とか COM とかを呼び出すことだな。

Unmanaged code といえば、1章で managed code 出てきたよな。(『プログラミング C#』 その1 C# の基礎 - マネージコードって何だ)

C# コンパイラは中間語 IL(Intermidiate Language)を生成する。そしてランタイム(CLR のことだね)が機械語に変換する。こういうのをマネージコードモデルという。

 

例: DLL を呼び出す

// こんな感じになる。
[DllImport("Kernel32.dll")]
public static extern ulong GetTickCount64();
  • こんなふうに DLL を呼び出すことを Platform Invoke という。
  • DllImpot 属性が Platform Invoke を宣言している。
  • extern キーワードは、 C# ソースコードにメソッド本体が存在しないことを意味している。

 

おしまい

なげーー!!!! 長かったわーー!!

って思ったのだけれど、2番目に読んだプログラミング本、『初めてのPython』だって700ページだったようだ……。(Mark Lutz『初めてのPython』)

好きな言語なので、冒頭の言語紹介の部分からもう面白い。前半をさらっとなぞった段階でのメモをずらずら書く。いやマジでさらっとだぜ。700ページ級の技術書をじっくり読むのは緑さんには辛いよ。

当時の記事をみたら、3記事でサラッとまとめていたな。今回もそんくらいにすりゃよかったな……。ぼくは一体どうしてたいした興味もないプログラミング言語の読書感想文を22記事も書いてんだ? 22記事ってなんだよ。

総括としては、そうだなー、あんまり楽しめなかったね。 C# が楽しいのかどうかは知らないけれど、この本は楽しめなかったなー。なんかすごく業務的で、教科書的。

 

全記事まとめ

よく読んだなマジで。