タグ

ブックマーク / www.ncad.co.jp/~komata (4)

  • コンピューター:C言語講座:FIFO(名前付きパイプ)について

    コンピューター:C言語講座:FIFO(名前付きパイプ)について 概要 FIFOは来、First In First Outというデータ形式の名称で、はじめに入ったデータがはじめに取り出されるという意味で、STACK形式のように最後に入ったデータがはじめに取り出されるのに対比するものですが、ここではプロセス間の通信に使用するFIFOを取り上げます。 TCP/IPプログラムでプロセス間で通信を行なう説明を行ないましたし、fork,exec,pipeでも同様にプロセス間で通信を行なえました。今回の話題のFIFOはPIPEによく似た感じのものですが、パイプは親があらかじめ準備してから子を起動して通信するのですが、FIFOはお互いに勝手に通信をはじめることが出来ます。ファイルのように名前をつけたパイプというイメージで、実際にUNIXではファイルのようにディレクトリ中に作成します。したがって、FIFO

    akanehara
    akanehara 2016/11/24
  • コンピューター:C言語講座:fork,exec,pipeについて

    コンピューター:C言語講座:fork,exec,pipeについて このテーマはどちらかというとUNIX系の話題になってしまうのですが、PC系ではDOSの時代にはマルチタスクができませんでしたので、平行には走れませんでしたが、C言語の処理系独自の関数がたくさんありました。WindowsになってからはUNIX系と似てきましたが、まだ少し違うようです。 自分で作成したプログラムから他のコマンドを実行したい、ということは良くあることだと思います。例えば、ディレクトリーの中身を簡単に得たい場合などはUNIXではlsコマンドを実行させて、結果をもらうのが簡単に思い付くと思います。とくにUNIXのコマンドはそのように組み合わせて使いやすくできていて、必要な情報だけを明確に返答するコマンドがほとんどです(その分、初心者が自分でコマンドを使う時に不親切なのですが)。 system() 大抵の人が上記のような

  • コンピューター:C言語講座:TCP/IPプログラム(その1:クライアント)

    コンピューター:C言語講座:TCP/IPプログラム(その1:クライアント) 概要 TCP/IPはイーサーネットなどで使用される標準的なプロトコルで、以前はワークステーション系でのみ使用されていた感じでしたが、最近ではインターネットやイントラネットさらにWindows95の普及によって、非常に広い分野で使われてきています。プロトコル自体は文献がたくさんでておりますし、それほど細かく知らなくても問題は無いのですが、いざ、自分でTCP/IPを使用したプログラムを作成しようとすると以外と文献が少ないものです。 ここでは、実際に通信することを目的として(プロトコルの研究ではなく)、まずはクライアントプログラムを作成してみます。詳細な内容まではとてもホームページに簡単にまとめられる量ではないので、それは文献を参照してください。 通信 通信といっても非常に幅が広いのですが、プログラミングで言うところの通

  • コンピューター:C言語講座:構造体・共用体・ビットフィールド

    コンピューター:C言語講座:構造体・共用体・ビットフィールド 構造体や共用体はC++などが出現するまでは私にとって他の言語に比べて最もC言語の素晴らしい物でした。とくに構造体を使わずにCADのような大規模なアプリケーションを組めといわれたら気を失ってしまいそうです。今となってはC++JAVAなどのように更に上をいくクラスが出現してしまっていますからやや古くさいのは否定できませんが、いずれにしてもC言語を使いこなしているかどうかはこの構造体と関数とポインターを使いこなしているかで判断できるくらい重要なものではないでしょうか? ここでは構造体がどういうものかとか、そういった入門書に出ているような事ではなく、ビットフィールドや共用体まで含めて考えてみたいと思います。 構造体 構造体はご存知の通り、複数のさまざまな型のデータをまとめて管理するものです。これはデータを保持しておく際にも非常に便利で

  • 1