それが僕には楽しかったんです。

僕と MySQL と時々 MariaDB

C言語

最速のEchoサーバーを目指して、LinuxKernelモジュールを作っていく part4

はじめに 前回、実装したはずの機能で特にacceptでコケる問題がなかなか解決出来なかったので毎回おなじみになりつつあるこのサイト linux/include - Elixir - Free Electrons さらに今回は、この本も参考にして書いていく www.oreilly.co.jpまず色々、調べ…

最速のEchoサーバーを目指して、LinuxKernelモジュールを作っていく part3

はじめに 前回まで rabbitfoot141.hatenablog.com rabbitfoot141.hatenablog.comこの二回でカーネルモジュールで標準出力や、カーネルスレッドを動かすところまでやった。 今回はこれをTCPサーバー化するのを目標にやっていく。 ネットワーク周り さくっと実…

最速のEchoサーバーを目指して、LinuxKernelモジュールを作っていく part2

はじめに 前回はカーネルモジュールで出力をやるところまでやった。 rabbitfoot141.hatenablog.com 今回は、気合でカーネルスレッドを扱えるようにする。 実装 EchoサーバではTCPを使用する、それをスレッドでああだこうだして複数接続を可能にしたい。その…

最速のEchoサーバーを目指して、LinuxKernelモジュールを作っていく part1

はじめに これから諸事情でLinux Kernel moduleとして動作する最速(?)のEchoサーバを作ることになったので Echoサーバを作る過程をまとめていく。 今回はとりあえず、環境構築からKernel moduleで「Hello,World」的なことをするまでをやる 開発環境構築 参考…

Newton-Raphson法を用いた円周率近似

Newton-Paphson法の基礎原理 Newton-Raphson法とは次の式を満たすxの値を見つけるアルゴリズム ここではg(x)を任意の微分可能な関数としてCを実数定数とする。 つまりNewton-Rapshon法は次の式を満たすxの値を見つけるアルゴリズムとなる。 つまり以下の様に…

gdbを使ってコアダンプの原因を解析

コアダンプは嫌いだ。 大学やその他情報系専門科のある学校に通ったことがある人が一度は触ったことがあるであろう、C言語。 こいつは近年の言語に比べてものすごく面倒くさい書き方をするし、手間もかかる。 中でも最悪なのが「コアダンプ」の文字。 これは…

C言語 構造体

6章 構造体 構造体とは、操作しやすいように一つの名前でまとめられた 1つ以上の異なった型の集まりであるこの構造体と呼ばれるものは大きなプログラムで特に複雑なデータを組織化するのに役立つ それは関連したデータを実体としてでなく一つの単位として扱…

C言語 ポインタと配列

5章 ポインタと配列 ポインタは、他の変数のアドレスを格納する変数でありC言語では頻繁に利用される理由は大きく分けて2つある 一つ目としてポインタを使うことが処理を行う唯一の方法である場合があるから 二つ目はポインタを用いて記述したほうが、それ…

OpenGLをC言語で扱う①

OpenGLをC言語で扱う 今回から画像処理以外にCGの部分も少しずつやっていこうと思ってこれからOpenGLをC言語でぼちぼち扱っていこうと思うインストールとかその他もろもろの環境構築は割愛 空ウィンドウを表示する まずはとりあえずウィンドウだけを表示して…

C言語 関数とプログラム構造

4章 関数とプログラム構造 C言語で書かれたプログラムは大抵、大きな計算処理を小さな多くの関数に分割して作成される その関数群は一つのソースファイルであるか、全体を通して言えば複数のソースファイルに分割されている そしていくつかの大きな関数から…

C言語 制御の流れ

3章 制御の流れ ここでは今まで普通に使ってきた制御に関することをもっと掘り下げていく 3.1 ブロックと文 これは凄く簡単なことで、C言語では式に;(セミコロン)を置くことで文になる なので宣言や代入などそれら単体で文として独立する また中カッコ{}は、…

C言語 データ型、式、演算子

2章 データ型、式、演算子 前回の1章でざっくりとした入門を終えたので、今度はひとつひとつ掘り下げていきます。 はじめは、大抵どの入門書でもはじめに扱うデータ型、式、演算子というものです。まず宣言と演算子を交えて… 宣言は変数を並べて、型を定義…

C言語 やさしい入門

この前、プログラミング言語Cという C言語の開発者が書いている本を買ったので それで勉強したことをまとめていく 1.第一章 やさしい入門 この章では細かい点を抜きにしてCを手短に紹介している 1.1 手始めに まず避けては通れない 「hello,world」の出力を…

C言語の基礎を一日で復習してみた[メモ]

最近、パケットキャプチャをC言語作っていて なんだかちょいちょい怪しい部分があるので、基礎を一日で復習してみようと思う 変数、ループ、場合分けなんかは大丈夫だと思っていたけど Cでメモリを意識する際に重要なことを見つけた まず、変数とは 値を格納…