Linux– category –
-
socatで装置内通信のデータをのぞき見る
socatを使ってUNIXドメイン通信を中継し通信内容をのぞいてみる。 構成のイメージは下記。 -------------------------------------------------- ________ ________ ________ | | | | | | | Client |--->| socat |--->| Sever | |________| |________| |__... -
Ncursesでスクリーン制御
Ncurses(*1)を使ってスクリーン制御してみる。 (*1)CUIでスクリーン、キー入力、カーソルなどの制御機能を提供するライブラリのこと。make menuconfig とか実行すると出てくるアレを実現できる。 ソースコード sample.c #include <curses.h> #include &... -
Windows-Linux間をTCPで通信する
TCPを使ってWindowsとLinux間で通信してみる。具体的にはWindows上にVirtualboxで仮想マシンを作成しHost-Only-Adapter経由で通信する。 構成 サーバ : Linux CentOS 6, X86_64(64bit) on Virtualboxクライアント : Windows7 (32bit) プログラム作... -
Qt5で始めるGUIプログラミング
Qt5を使ってGUIプログラミングに挑戦してみる。まずはウィンドウを出すだけ。 Linuxサーバでアプリケーションを作成&実行し、表示はWindowsで行うスタイル。 実行環境 ホスト側 Windows7 32bitXming 6.9.0.31Teraterm 4.9.2 サーバ側(実行側) CentOS 6, x... -
シグナル受信をepollで監視
Linuxのsignalfdを使ってシグナルをepollで監視する。 signalfd.c #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/epoll.h> #include... -
TAILQでリスト管理
TAILQを使ってリストを実現する。詳細はMan page of QUEUE参照。 tail.c #include <stdio.h> #include <stdlib.h> #include <sys/queue.h> typedef struct memEntry { TAILQ_ENTRY(memEntry) entry; int32_t size; void* ptr; } memEntry_t; type... -
ソケットプログラミング(UDP)
LinuxでUDPによる通信を行うサンプルプログラム。 この手の例はGoogle先生で検索すれば沢山でてくるけど、システムコールのリターン値を見てなかったり、openに対応するcloseをしていない例が多いことに気付くと思う。 もちろん動かすことだけ考えたら気に... -
Linuxでシグナル捕捉
使い方をすぐに忘れるsigactionでシグナルを捕捉する方法。 #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <signal.h> #include <errno.h> #include <string.h> #include <unistd.h> static volatile sig_at... -
X11で始めるGUIプログラミング
いまどきX11でプログラム書くことがあるかは知らないけど、凄い昔にLinuxでGUIのプログラミングにトライしたときのサンプルコードを見つけたので掲載。現代はQtとか使うのかな。 事前準備 $ sudo yum -y install libX11* x11.c #include <X11/Xlib.h> #... -
最低限あると嬉しいvimrc
大抵もっとごちゃごちゃ書いてあるけど、個人的に最低限あると嬉しいvimrcの設定だけをピックアップ。 $cat ~/.vimrc syntax on "色設定 colorscheme desert "前回編集終了位置からの再開 augroup vimrcExtend au BufReadPost * if line("'\"") > 1 &&...