• ベストアンサー

Unix/Linux-Cを勉強したいのですが

(C++が入っていてもいなくてもよい) ・セマフォ ・clone ・メッセージキュー ・ソケット通信 などのやさしい具体例が載っているいい本は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

自分は ASCIIのUNIX Cプログラミング と SOFT BANKのLinuxプログラミング を使っています。 読みやすいかわかりませんが

guuman
質問者

お礼

ありがとうございます 調べてみます

guuman
質問者

補足

Linuxプログラミング 改訂第2版 例題で学ぶUNIXプログラミング環境のすべて ソフトバン ニール・マシュー 著 リチャード・ストーンズ 著 葛西 重夫 訳 ソフトバンクパブリッシング 版 2004年08月 発行 ページ 715P サイズ 24  4,725円(4,500円+税) ISBN 4-7973-2701-4 C-CODE 0055 NDC 007.64 UNIX Cプログラミング NUTSSHELL HANDBOOKS David A.Curry 著 アスキー 版 1991年07月 発行 ページ 326P サイズ A5ソフトカバー  2,548円(2,427円+税) ISBN 4-7561-0078-3 C-CODE 3055 NDC 007.64 ですね 後者は少し古いですね

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【C言語】単体テストのイメージが全くつかない

    閲覧ありがとうございます。 C言語での改修案件に携わっているのですが、当方C言語も開発も経験のないものでして、単体テストについてお伺いしたいです。 システムBの単体テストをしたいとします。 システムBは、別サーバにあるシステムAからソケット通信で電文を受け取り、同サーバにあるシステムCにメッセージキューで電文を送ります。 また逆に、システムCからメッセージキューで電文を受け取り、システムAにソケット通信で電文を送ることもあります。 基本的にデータの中継を担うシステムです。 このとき、一体システムBの単体テストはどのような項目をやるのが正しいのでしょうか? (※CUnit等は使えません) JavaはJUnitを使っての単体テストの学習はしたことがあるのですが、C言語での単体テストの項目もやり方も全く想像がつきません。 私にPGの才能がないことは重々承知しておりますので、出来れば分かりやすくお教えいただければ幸いです。 よろしくお願いいたします。

  • linuxにてプロセス間通信をメッセージキューに行いたいのですが、

    linuxにてプロセス間通信をメッセージキューに行いたいのですが、 ある条件のときにキューに溜まったメッセージを削除したい場合はどのようにしたらいいでしょうか?

  • Linuxでのスレッド間メッセージについて

    Linuxでスレッドを複数生成し、スレッド間でメッセージのやり取りをしたいと思っています。 ネットで色々検索したのですが、欲しい情報にめぐり合えていません。 # WindowsのPostThreadMessage()みたいなものを探しています。 #「プロセス間通信」というものは発見しましたが・・・ 何か方法はありますでしょうか? スレッド間のメッセージのやり取りの方法がない場合は代替案も教えて頂きたいです。 # セマフォを用いて共有メモリアクセスかな?と思っています。

  • ソケット通信でチャットプログラム(unix c言語)

    c言語のソケット通信でチャットプログラムを作り中です 仕様:あるクライアントからメッセージがサーバに送信された時点でサーバは接続されたいる全てのクライアントにメッセージを送信する。 以下のようにクライアントからの接続(accept)がある度に、その返り値であるファイルディスクリプタにに対するreadと全クライアントに対するwriteの処理を行うchild関数をforkで起動します。これだとforkが起動した時点での全てのファイルディスクリプタ(接続されている全クライアント)の情報をchild関数に渡せますが、それ以降増え続けていくファイルディスクリプタの情報をchild関数に渡せないので、最初の方に接続したクライアントからのメッセージをそれ以降接続した他のクライアントに送信できないという状態です。 main() {   socket()   bind()   listen()     while(1){       accept()       if(fork()==0) {        child()       }     } } child() {   select()   if(FD_ISSET()) {     read()     write()   } } ※forkやソケット通信に関してかなり初心者なので、ソースや説明分が意味不明かもしれませんがよろしくお願いします。

  • C言語のHP-UXからLinuxへのポーティング

    C言語で開発されたプログラムをHP-UXからLinuxへのポーティングする場合、どのように行えば効率的でしょうか? また、注意する内容があれば教えて頂けないでしょうか? ポーティング前のOSはHP-UX(詳細不明) ポーティング後のOSはRedHat Enterprise Linux 5.5 (64bit) C言語で開発されたプログラムは、ソケット通信でサーバ間通信を行う機能となります

  • c言語ネットワークプログラミングのAPIを乗せているwebページないですか?

    現在私はC言語でソケット通信を使って サーバとクライアントでメッセージのやり取りをおこなってみたいと思っているのですが どのライブラリのどの関数を使って通信できるのか全くわかりません。 (例えば、readの返り値ってなにを返すんだろう?とか) できればunix上(SunOS)でのc言語ネットワークプログラミングに関する APIが乗っているURLを教えていただけないでしょうか?(できれば日本語のwebページがいいです。)

  • CやC++の言語について

    これからCを使ってプログラミングをしようかなと考えているのですが、Cについて調べていると、C/C++はパワーがあり柔軟性があるということが書かれていたんですが具体的にどういうことなのかよくわかりません。具体例をあげるとどういうことなのでしょうか?回答よろしくお願いします。┏o

  • C#でネットワークプログラミング

    C#でネットワークプログラムをしているものです。 本を読みながら勉強しているのですが C#だとTcpListener・TcpClientを用いれば 簡単にチャットを作れますよね。 で、他にも方法があって Socket通信と非同期なSocket通信というものが ありますが、 実際問題としてこの二つの違いというのが よくわかりません。 どっちでもいいじゃんと思えるのです。 違いをわかりやすく教えていただけると幸いです。 具体的にチャット(3人以上でできるもの) だとどれがどうとかありますでしょうか?

  • C# のイベントって

    C#を勉強中の者です。 むかし MFC VC++ を少しだけかじったことがありまして、 その中で、ウィンドウメッセージというものをよく利用していました。 C#ではイベントというものをよく利用するようですが、 これは MFC C++ でいうところのウィンドウメッセージと同じようなものでしょうか。 つまり、イベントというのは、メッセージキューにためられたメッセージが処理される際に呼ばれるものなのでしょうか。 仮にそうだとすると、イベントを発行するというのは、ウィンドウメッセージを送るのと同じようなものでしょうか。 ウィンドウハンドルとかないし、違うような気がしますね...。 でも、割り込みというのとは違いますよね...? 入門書は読んだんですが(いくつも読んだわけではないのですが...)、 使い方は書いてあってなんとなく理解はできた一方、 仕組み的なところがしっくりきません。 分かりやすい説明をいただけるとうれしいです。 よろしくお願いします。

  • プロセス間通信について

    こんばんは、皆さん。 自分の意識の中では、プロセス間通信とは「ソケット通信」の事を指していると 思っており、その上でC言語で作成する必要があって、それについての参考になるような サイトや本を検索しているのですが、これ!という決め手なものが見つかっていません。 またプロセス間通信には「パイプインタフェース」!?というのもあるようで、 ソケット通信とどう違うのか、ちょっと混乱してきております。 プロセス間通信について分かりやすいお勧め本を教えていただけませんか。 よろしくお願いします。