Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

Cに関するk_37toのブックマーク (27)

  • はやいTCPサーバの書き方 - nyaxtのPC作業ログ

    cagra高速化にあたってのノウハウを一部公開してみます。また明日校正/更新します。つっこみ待ちです。 select(2)の代わりにepoll_wait(2), kqueue, /dev/epoll等を使う 他に山ほど解説ページがあるので略 大量のディスクリプタを処理するようなサーバの場合、多少効果があるかもしれません。しかし、クライアント数が少ない場合、劇的な性能の向上は見込めないとおもいます。クライアント数が多い場合は、1セッション1スレッドなモデルではOS側のタスクスイッチングのオーバーヘッドが効いてくることも多いです。クライアント数を増やすには複数のセッションを1スレッドで処理できるようにすると良いです。実装にあたっては、non-blocking ioを活用すると効果的です。 TCP_NODELAYを設定する Nagleアルゴリズムをオフにします。多少応答性が良くなります。 これっ

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ
  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • C/C++ 迷信集 | 株式会社きじねこ

    C/C++ を使うプログラマは大勢います。しかし、その多くは OJT を通して言語を学んだのではないでしょうか? 実はそこに大きな落とし穴があります。 コンピュータや工学のことをよく知らない人たちは、時代の先端を歩むプログラマには「迷信」など無関係だと信じて疑わないかも知れません。しかし、迷信や誤解はどんな世界にも常に存在しています。 というわけで、ここでは C/C++ にまつわる迷信、誤解、よくある間違いを採り上げていきます。非常に後ろ向きな企画ですが、暇つぶし気分転換に読んでみてください。もしかすると、ご自身が迷信にとらわれていたことに気付くかもしれません。 追記(2009/03/15) このコーナーでは、C/C++ にまつわる迷信、誤解、よくある間違いを扱っています。決して「迷信」だけではないのですが、タイトルにはすべて[迷信]を付けています。 これは、主に検索エンジンでタイトルを見

    k_37to
    k_37to 2008/09/27
  • 無料サービスを使え! – 役立つ無料サービスのレビュー、まとめ、比較記事を紹介

    コンテンツへスキップ 無料で使える!HubSpotの顧客リストの活用法 無料のアンケート作成ツール 比較/まとめ 無料「Excel」 テンプレート 比較/まとめ 無料で使えるノートアプリ比較 (Evernote / OneNote / Google Keep) おすすめの無料Web会議システム5選 WebP Converter 徹底解説!初心者でも直ぐに使える HubSpot は、マーケティング、セールス、サービスのためのCRM(Continue reading 多くの人の声を聞くことで改善できることも多い 企業や団体など運営していContinue reading 就職・転職には必須となる履歴書・職務経歴書 これから就職活動をスタートContinue reading 便利なノートアプリで効率的な仕事をしよう いつの時代も仕事をしていてメContinue reading 近年、リモートワーク

  • スタックオーバーフローのハンドリング (Stack Overflow Handling)

    作成日:2004.04.12 更新日:2006.02.19 更新記録 (2004.04.12) 3/6、 3/11、 3/13 の日記をまとめて作成。 (2004.05.07) 文章を修正。サンプルコードを追加。 (2005.01.20) alternative → alterante に修正。 (2005.02.13) 追記を記述。 (2006.02.17) linux_stack_info.cpp の実装に誤りがあったので修正。 (2006.02.19) BSD 系OS でのスタック領域情報の取得の仕方を追加 初めに C/C++ でプログラムをしているとつい忘れてしまうのがスレッドのスタックオーバーフローの問題。 最近の OS はスレッド当たり 2〜8MB のスタック領域を持っているため、よほどのことがない限りスタックが溢れてしまうことはない。 だが、再帰や alloca を積極的に使

  • Cprogram: Pointer

  • C99で追加されたC言語における可変長配列について 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    いや~、焦りました。 JIS X 3010を参照しながら仕事をしていたら、存在しないと思っていた可変長配列などという言葉が出てきて……。 というわけで、メモ。 Cの可変長配列について § Cで配列を宣言する際、配列のサイズは定数で指定する必要がありました。(か、あるいは無指定) しかし、C99では、ここに式の値を指定することが許されるようになりました。つまり、実行時に動的にサイズを決定する配列を作ることができるのです。 ちなみに、Visual Studio.NET 2003のCコンパイラや、Borland C++ 5.5.1のCコンパイラはこの機能をサポートしていませんでした。 しかし、間違えてはいけない…… § Visual Basicプログラマの場合、可変長配列と聞けばReDimステートメントを連想するかも知れません。しかし、ここでいう可変長配列とは、ReDim=作成済みの配列のサイズ

    k_37to
    k_37to 2008/05/05
  • プログラミング言語 C の新機能

    4. 配列 今回の C 言語では、配列をより使いやすくするための機構が組み込まれました。その代表が可変長配列の機能でしょう。章ではそれら追加機能について説明します。 4.1 可変長配列 ある関数に入る毎に違った大きさが必要になる配列(可変長配列)を、今まではどのように作成していました? その作成方法は、大体次に挙げる方法のどれかでしょう。 (1)あらかじめ最大の配列を作る方法。もし最大の大きさを見積もることができるのであれば、あらかじめその最大の大きさの配列を作ってそれを利用するという方法があります。しかしこの方法では最大が見積もれる時にしか使用することができず、また必ずしもメモリを有効に使用することができません。 (2)malloc を使う方法。必要となる大きさを malloc で確保し、ポインタに割り当てて使うという方法があります。しかし、この方法では、一般的に malloc 関数の

    k_37to
    k_37to 2008/05/05
    Cの可変長配列について
  • 初級C言語Q&A(14)

    初出: C MAGAZINE 1996年7月号 Updated: 1996-07-26 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] 今回は4月号に引き続き、「構造体」についてのQ&Aを紹介します。特に、初期 化に関する質問に注目してみます。 構造体 (2) Q 【構造体の初期化】 構造体を初期化する場合は、どのように書けばよいのか。 A 基は、{}で初期値の組みを囲んでやるということです。リストのようになり ます。 struct axis { int x; int y; }; struct axis lt = {0, 0}; 構造体の中にさらに構造体が含まれるような場合には、{}を使って、対応する 構造と同じように初期値を並べます。 struct area { struct axis lefttop; struct axis rightbottom; }

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 構造体

    第15章 構造体 複数のデータをまとめて扱うには配列を用いましたが、配列では同じ型のデータしかまとめて扱う事はできません。 実際にプログラムを組んでいると、異なる型のデータをまとめて扱いたい場合がしばしばあります。 たとえば、学生の成績を扱うときに、int型の学生番号と、char型配列の氏名と、double型の点数をまとめて扱えれば便利だと思いませんか。 実は、この章で学習する「構造体」は幾つかの異なる型のデータをまとめて 1つのデータ型として扱うものなのです。 15-1.構造体の使用手順 サンプルプログラムを見ながら構造体の使用手順を説明します。 #include <stdio.h> /* (1)構造体の型枠の宣言 */ struct seiseki { int no; /* 学生番号 */ char name[20]; /* 氏名 */ double average; /* 平均値 *

  • Makefileの書き方 - スキルアップ輪講

    makeって何? † ソースファイルを分割して大規模なプログラムを作成していると、コマンドでコンパイルするのが面倒です。また、一部のソースファイルを書き換えただけなのに全部をコンパイルし直すのは時間の無駄です。 そんな問題を解決するのがmakeです。Makefileと呼ばれるテキストファイルに必要なファイルと各ファイルのコンパイルのコマンド、ファイル間の依存関係を記します。そして、“make”というコマンドを実行するだけで、自動的にコマンドを実行してコンパイルしてくれます。これだけではスクリプトと大差がないのですが、makeはMakefileに記された依存関係に基づいて更新されたファイルの内関連のあるものだけを更新することで、コンパイル時間を短くします。 makeは特定のプログラミング言語に依存したものではありません。C言語のソースファイルのコンパイルにも使えますし、Verilog-HDL

  • 苦しんで覚えるC言語

    [全ページ目次] 苦しんで覚えるC言語(苦C)は、初心者を対象としたC言語入門サイトです。 C言語の基機能を体系立てて解説しており、市販書籍と同等以上の完成度です。 初めての人は 前書き から読み始めて下さい。 キーボードの矢印キーか、右下の進む>で次のページに移動します。 コンパイラ入手:基礎編:応用編:標準ライブラリ 全文検索:ダウンロード版:苦Cアンケート:ミス報告:掲示板で質問 [  更新情報  ] 01月22日 : Visual C++ 2005 Express Edition 10月30日 : Borland C++ BuilderX Personal 10月07日 : 掲示板に寄せられたQ&A項目を作成 03月10日 : ドラッグへの対応 ※ミス報告で報告されたミスの修正は約100回以上行っています。 苦Cについて 苦Cの使用法(特に読まなくても良い

  • 可変長ビット列を出力 - hogelogの日記

    文字列型で渡された"10111"みたいなビット列を、実際のビット列として書き出す関数putbitsを作ろう。でも困ったことにコンピュータさんは、8の倍数ビット単位での読み書きしかできないらしい。というか、だからこんな関数が必要になるわけだが。 putbits("10111", stdout)みたいにすると、putbits関数内で保持している静的変数bitsに1ビットずつ追記していく。でもってbitsの長さが8ビットに達するたびに、bitsを出力。bitsの長さが8ビット未満で終わったら、その値は次回のために取っておく。 NULLポインターを渡されたら、保持しているbitsのうしろに0を詰めてって出力。 int putbits(char *bitstream, FILE *fp){ static int length = 0; static unsigned char bits = 0; i

    可変長ビット列を出力 - hogelogの日記
    k_37to
    k_37to 2008/04/28
  • jpn.ph

    This domain may be for sale!

  • 初級C言語Q&A(12)

    初出: C MAGAZINE 1996年5月号 Updated: 1996-03-12 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] ビット操作、論理演算 C言語は低レベルの高級言語といわれますが(?)、理由の一つとして、シフトや マスクといったビット操作が比較的簡単に実現していることがあげられます。ア センブラから言語を学んだ場合は、これらの操作はごく簡単なのですが、高級言 語からいきなりプログラミングを始めた人には、ビット操作という概念そのもの に慣れていないため、分かりにくいかもしれません。 ビット操作 Q 【ビット操作】 そもそも、ビットとは何なのか。 A コンピュータの中では、数値は0と1という二つの値で表現されています。たと えば、0と1のいずれかを入れることができる箱があると考えてみてください。こ れだけでは1と0の2通りの値しか表現できません

    k_37to
    k_37to 2008/04/28
  • C言語関係掲示板 過去ログ1315

    k_37to
    k_37to 2008/04/28
  • C 標準関数逆引き辞典

  • emit.jp - emit リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。