Relative Content

Yearly Archives: 2017

a C HTTP Client

C#やJavaでは簡単にhttp Clientプログラムができる。C言語ではソケットを作成するところから必要です。またWindowsとLinux両方対応するように書いたのでプログラムが長くなる。 (bcc32で動作確認済み) プログラムは、最初にsocketを生成してWebサーバに接続し、テキスト形式でHTTPリクエストメッセージを作成してWebサーバに送信する。 HTTPリクエストメッセージは、複数行から成り立つ一連のデータ列。ここでいう1行とは、終端にCR(キャリッジリターン、16進の0x0d)とLF(ラインフィード、16進の0x0a)を持つデータの単位を示す。ほぼ、通常のテキスト・データの1行と等しくなる。メッセージ・ヘッダとメッセージボディ部に分かれ、両者は空行(単独のCR+LF)で分割される。 httpを理解するには、telnetで手入力でHTTPをしゃべってみるがいい方法。 https://www.softel.co.jp/blogs/tech/archives/263 まずプログラムをリストする: #include <stdio.h> /* printf, sprintf */ #include <stdlib.h> /* exit, atoi, malloc, […]

Dump file

DUMP で出力された内容を ダンプリスト と呼ぶ ダンプリスト左端はアドレス(ファイル先頭からの位置) ダンプリスト中央にある16進数(バイト)が列挙されてる部分がマシン語プログラム(バイトコード)を表している。 ダンプリスト右端は、バイトコードをキャラクタコードで表現したときの内容。ただしバイトで表現可能な数値はキャラクタコードの範疇を超えることがあるため、そのような場合はピリオドで表現される。 dump.c #include <stdio.h> int main(int argc, char* argv[]) { FILE *fp; unsigned char buf[16]; /* 読み込みバッファ […]

[GCC]C Compiler on Linux

C言語の最小限の開発環境を作る手順 エディタをインストール コンパイラをインストール コンパイラにPATHを通す設定をする エディタをインストール Atomという新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。 公式サイト コンパイラをインストール LinuxでのC言語開発環境について解説しています。「GNU Compiler Collection」が一般的です。 それでは gcc をインストールしていきます。 Debian Debianでは、apt-getコマンドを使ってgccをインストールします。 # apt-get […]

[GCC]C Compiler on Windows

WindowsでgccをインストールするにはMinGWを利用した、C言語の最小限の開発環境を作る手順 エディタをインストール コンパイラをインストール コンパイラにPATHを通す設定をする エディタをインストール Atom、VSCodeなど新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。 コンパイラをインストール C言語コンパイラって幾つかありますが、visual studioはファイルサイズがデカいので却下です。gccのインストールをオススメします。gccはMacでもLinuxでもWindowsでも使えます。 コンパイラの違い一覧 システム mingw-jp Visual Studio .net Borland C++ Builder […]