タグ

cに関するF-nameのブックマーク (54)

  • Geekなぺーじ : Linuxネットワークプログラミング

    ここでは、Linuxを使ったネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつLinux環境でプログラミングを行いたい人です。 開発環境としては、C言語+gccを想定しています。 説明内容は主にソケットプログラミングになります。 なお、C言語そのものが初めての方は「C言語入門」も参考にどうぞ。Windows専用には書いてませんが主にC言語で共通の部分を解説しています。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 ディストリビューションにもよりますが、Linuxを普通にインストールしただけでは開発環境は入りません。 開発環境を用意するためには、gccやglibcなどのrpmを必要に応じてインストールしてください。 次に、エディタが必要になります。 mule、emacs、xemac

  • WEBブラウザを作りたい。

    まずコンパイラを用意する必要があります。普通0から作るなら C/C++という選択肢になります。 Windows向けの無償のコンパイラで高機能なもの BCC ・http://www.borland.co.jp/cppbuilder/freecompiler/ Visual C++ Toolkit 2003 ・http://msdn.microsoft.com/visualc/vctoolkit2003/ ブラウザを0から作るにはTCP/IPとHTTPプロトコルを理解する必要があります。 当然htmlも。 ちなみにそういう規格の多くはRFCに記述されています。 とはいえ、最初はC/C++の基 「hello world」等簡単なプログラムから学習していきます。 ちなみにプログラミングのコンテストで 12歳の子がブラウザーを作って話題になったことがありましたが ソースの量は10万行ということでし

    WEBブラウザを作りたい。
  • 調べもの専用Googleブラウザを作ってみよう ─ @IT

    Webアプリケーションの機能や操作性を向上させるアプローチの1つとして、特定のWebアプリケーション専用ブラウザの作成を提案し、その具体的な方法を解説します。ここでは、Googleで検索を行ったときにその検索語を記録していく機能を持った「調べもの専用ブラウザ」 の作り方を説明します(*注意:グーグルが提供を開始したWebブラウザ「Google Chrome」については下記記事をご参照ください)。 Google Chrome曰く「Webブラウザは主役じゃない」 ベータ版が提供開始されたグーグルの新しいブラウザをWebアプリ開発者の視点で検証。IEやFirefoxと比べると? Gearsとの関係は? 検証で見えたChromeの思想とは? Webアプリケーションを構築していると、Webブラウザだけではどうしても実現が難しい問題にぶつかることがあります。 例えばグループウェアで新着情報があったら画

  • 0から始める2chブラウザfor超漢字

  • 実践的なC言語の知識

    C言語を昔、独学で勉強しました。が、途中でつまずき、勉強を止めてしまいました。 最近になってまたプログラミングがやりたくなってきたので復習しようと思っているのですが、 私は実践的でない知識を覚えるのが苦痛ですし、覚える意義も感じられません。 例えば、練習問題で「国語、社会、理科の3科目の合計と平均」などと言った問題があります。 基的な問題で、大切「だろう」とは思うのですが、自分でプログラミングする上で使うのかどうか疑問に思ってしまいます。 今、私はブラウザに大変興味があり、できるならば開発に携わりたいと思っています。(仕事としてではなく、趣味でです。) 初心者の私がこんなことを言うのは小学生が将来メジャーリーガーになりたいと言っているようなものですが、私はこの事を真剣に考えています。 また、linux(ubuntu 8.10 amd64)を使っているのですが、32bit版にしかないような

    実践的なC言語の知識
  • Programming UNIX Sockets in C - Frequently Asked Questions

    Created by Vic Metcalfe, Andrew Gierth and other contributers (Transrated into Japanese by: Keisuke Mori)May 21, 1998 この文書は、UNIX 上での ソケットインターフェースを用いた TCP/IP アプリケーションプログラミングについて、頻繁に行われる質問とその 解答を集めたものです。 1. 一般的な情報と概念 1.1 更新情報 1.2 この FAQ について 1.3 この FAQ はどのような人向けでしょうか? 1.4 ソケットって何ですか? 1.5 ソケットはどのように動作するのでしょうか? 1.6 [あるの題名] というのソースコードはどこから取得できますか? 1.7 どこでもっと情報を得ることができますか? 2. クライアントとサーバ(TCP/SOCK_STREA

  • C 言語で HTTP クライアントを作ってみよう (1)

    C 言語で HTTP クライアントを作ってみよう (1) HTTPクライアント C言語版 HTTP プロトコルについては既に解説しましたので、 いきなりソースの解説に入ります。 その前に一応コンパイル方法を説明しておきましょう。 % cc -o http-client http-client.c とすることで、http-client というバイナリが作成されます。 SunOS ではネットワーク関係のライブラリが libc に含まれていないので、 % cc -o http-client http-client.c -lresolv -lsocket -lnsl とライブラリを指定しなければならないでしょう。プログラムの実行は % ./http-client とすることで、http://localhost/ の内容をヘッダも含めて標準出力に出力します。 % ./http-client http

  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • bkブログ

    bkブログ プログラミングやバッドノウハウについてのブログ 2004-2011年に書いていたブログのアーカイブです。 机の上のもののワイヤレス化 - Microsoft Arc Keyboard の導入 iPodは何を変えたのか? 人が問題にぶち当たったときには、どうするか? ソフトウエアの肥大化について、の続き ソフトウェアの肥大化について ある程度の年齢を迎えたプログラマが抱える悩み Unicode の雪だるま 設定ファイルの整理 - Emacs 編 設定ファイルの整理 - zsh 編 パターン、Wiki、XP ~時を超えた創造の原則 マッキントッシュ物語 - 僕らを変えたコンピュータ GNU diff の地味だけど便利な機能 C++ の string と vector の reserve() の挙動 暗号化 - プライバシーを救った反乱者たち Best Software Writin

  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • UNIXの部屋

    UNIX/Linuxの部屋 FreeBSD・Solaris・Red Hat Linux・Fedora・CentOS・HP-UX を使った上で気づいたこと・調べたことをまとめました。 この web 内についての引用・リンク・紹介などの注意点は サイトへのリンクについて をお読み下さい。

  • BohYoh.com - 柴田望洋後援会オフィシャルホームページ by 言語科学研究所

    13,500をこえるページから構成されるサイトは、コンピュータ・プログラミング・情報処理技術者試験対策・中国武術などに関する情報が満載です。また、多くのプログラムや約1,000ページ分のPDFファイルを閲覧・ダウンロードできます。ゆっくりとご覧ください。 What's New 2023/9/5(火) ■ 『新・明解Python入門 第2版』の「索引」のPDF全17ページを公開しました。 2023/8/30(水) ■ 『新・明解Python入門 第2版』のソースプログラムを公開しました。 2023/8/29(火) ■ 著書のコーナーに、新刊『新・明解Python入門 第2版』のページを開設しました。 2023/3/6(月) ■ 著書のコーナーに、新刊『新・明解C言語実践編 第2版』のページを開設しました。 2022/9/29(木) ■ 『新・明解C言語中級編 第2版』の「索引」のPDF全1

  • Linux glibcで、LD_AUDIT機能による関数トレース - torutkのブログ

    このの「#77 関数へのenter/exitをフックする」で、GCCのコンパイルオプション-finstrument-functionsを使い、関数が呼び出された時、関数から復帰するときにフックを入れる方法が紹介されています。これはコンパイルオプションで埋め込むものですが、同書に「もう1つのフック方法(LD_AUDIT)」というものがあることだけ参考紹介されています。LD_AUDITの方法だと、PLT経由(動的リンク用に作られた)の関数ならばコンパイルし直すことなくフックすることができます。 このLD_AUDITの方法を少し実験してみます。 サンプルを探して LD_AUDITを使う方法は、インターネット上にわずかしか情報を見つけることができませんでした。以下情報源とコメントです。 http://docs.sun.com/app/docs/doc/819-0391/chapter6-1242

  • 第6回 LinuxでC/C++言語のコンパイルを試す

    今回は,最新Linux(Ubuntu 8.04 LTS 日語ローカライズド Desktop CDをインストールしたマシン)上で,C/C++言語で記述したプログラムをコンパイルして動かしてみます。また,4ページ以降では,WindowsにインストールしたVMware Player上で,「Ubuntu 8.04 LTS 仮想マシン」を動かした場合を想定し,具体的な操作方法を紹介します。 これまでは,オープンソースの基事項や,Linuxコマンドの必要最小限の使い方を説明してきました。 今回はいよいよ,Linux上でC/C++言語を用いてソースコードを作成し,コンパイルして実行する流れについて解説します。Linuxディストリビューションの上で,「どのようにコードを書いて,コンパイルし,実行するのか」について,具体的なイメージをつかんでください。 開発環境の準備 多くのLinuxディストリビューシ

    第6回 LinuxでC/C++言語のコンパイルを試す
    F-name
    F-name 2009/01/19
    勉強材料。