タグ

Cに関するihagのブックマーク (15)

  • C Language Examples of IPv4 and IPv6 Raw Sockets for Linux

    C Language Examples of IPv4 and IPv6 Raw Sockets for Linux I have recently been investigating raw socket programming in C for linux and I decided to provide a collection of routines I have prepared. The intention here is to be able to arbitrarily set the various parameters within a packet. Rather than use command-line arguments, each example has hard-coded values, so you need to modify each exampl

    ihag
    ihag 2016/02/16
  • C言語 Super Technique 講座

    このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用

  • Judy Arrays Web Page

    What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensi

  • http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c

    ihag
    ihag 2008/12/21
    ☆とか○に幅2を返す,まともなwcwidth, wcswidthの実装
  • C 言語 マクロ講座 # ## 編: uyota 匠の一手

    # と ## はマクロ関数で使う。 # と ## 共に古くからマクロで実装されている。ところが、これを知らない人達がとても多い。 十年、二十年と C 言語を使ってきたという人でも知らないと言う人が結構いる。これを知らないから、余計なコードを書き、バグを増やし続けるのである。 高級言語と呼ばれる言語の中でも、単純な部類に入る C 言語。その C 言語よりも単純なマクロ言語の構文を把握していないのである。マクロ自体では、できることもたかが知れている。マクロでできるのは、ごく限られた置換や条件分岐処理程度のみだ。C 言語の構文だけでは、それこそ複数のファイルにコードを分けて書くこともできない。 ライブラリを作るのなどは、それこそ不可能だ。 しかし、C 言語はその欠点をマクロ言語を使い前処理することにより、強力な力を得た。C 言語以降もいくつもの高級言語が生まれてきたが、前処理を組み込んである言語

    ihag
    ihag 2008/06/30
    おお知らなかった
  • sizeof演算子

    せりか式 - C 言語チュートリアル - sizeof演算子 sizeof演算子について検索してくる人が多いようなので,真面目にsizeof演算子についても書いておくことにします. 簡単に言うと,sizeofに渡された型や変数のメモリサイズを調べるものです. sizeof演算子は2種類の使い方があります. sizeof(型) sizeof 変数や定数,あるいは式など 前者の型を与える方は特に悩む必要は無いと思います. 単に指定した型が利用するメモリサイズを返すものです. 問題は,後者の変数や定数を渡す方です. sizeofに変数を渡した場合,その変数名で確保されているメモリサイズを返します.

    ihag
    ihag 2008/04/03
    「sizeof演算子の代用」の技が凄い.使う事は無いと思うけど.
  • memologue - C/C++の定数の型の話, C90/C99の差分のびみょーな話

    Cのソースコードに m = 195; とか n = 0xffffffff; とか書いたときの定数(右辺)の型って、なんであるかご存じでしょうか? また、C90(1990年版のISO C言語規格)とC99(1999年版のそれ)ではその型が微妙に異なったりすることがあるんですが、ご存じでしょうか? さらには、お使いのマシンがILP32であるかLP64であるかLLP64であるかによっても、微妙に型が違ってきたりするんですが、それについてはどうでしょうか? えーもちろん、普段は「Uがついてなかったらint, Uがついてたらunsigned intジャネーノ?」くらいの理解でも殆ど不自由しないわけですが、詳細な理解がないとハマるケースも稀にあります。 私はというと、上に書いたような事は、C90/99の差違を除いてはだいたい理解しているつもりだったのですが、C90/99の差異について無頓着だったがため

    memologue - C/C++の定数の型の話, C90/C99の差分のびみょーな話
  • 苦しんで覚える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の使用法(特に読まなくても良い

  • 404 Blog Not Found:C - Judyでたらい回し

    2006年12月07日05:00 カテゴリLightweight Languages C - Judyでたらい回し フィボナッチ関数やたらい回し関数のような、自分を複数回呼ぶような再帰関数は、memoizeするかしないかで結果が極度に変わってくるが、これをCでやってみようという企画。 Judy Arrays Web Page Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Matzにっき(2006-06-28)とても高速なテーブル。十分高速なので、疎配列やハッシュとして使える。Cでmemoizeというのは、自分でhashを実装したりしなくてはならず大変だったが、このJudyがあれば実に簡単だ。まずは結果を見てもらおう。 %

    404 Blog Not Found:C - Judyでたらい回し
    ihag
    ihag 2006/12/07
    Cの連想配列の実装。キーに文字列を指定できる。よさそうなんだけど、LGPLっていうのが難点
  • h_east's website

    2010/12/25 Version 5.8J2 をReleaseしました。 2009/07/12 exuberant ctags 5.8 がReleaseされたので日語対応しました。 2009/07/10 exuberant ctags 5.8 がReleaseされました。とりあえずWindows語対応版バイナリをアップしました。 2009/01/13 Blogへのリンクを貼りました。 2007/09/12 Version 5.7 がReleaseされたので日語対応しました。 2006/10/02 スパム対策のため掲示板をリニューアルしました。 2006/06/12 Version 5.6 がReleaseされたので日語対応しました。 2005/06/04 寺田 隆平さんが日語マニュアル等を翻訳してくださいました。感謝。 2004/03/27 Version 5.5.3 のb

    ihag
    ihag 2006/09/25
  • セキュアプログラミング for Linux and Unix HOWTO

    この文書は、Linux および Unix システム上で安全なプログラムを書く際に必要と なる設計や実装について、そのガイドラインを提供します。 遠隔のデータを見るためのビューアーや Web アプリケーション(CGI スクリプト を含む)、ネットワーク・サーバ、setuid や setgid してあるプログラムが対象です。 C や C++JavaPerlPHPPython、TCL、Ada95 個別のガイドラインも掲載します。 Table of Contents1. はじめに2. 背景2.1. Unix や Linux、オープンソースもしくは フリーソフトウェアについて2.2. セキュリティの原則2.3. なぜプログラマは危ないコードを書いてしまうのか2.4. オープンソースはセキュリティに効果があるのか2.5. 安全なプログラムの種類2.6. 疑い深く、こだわりが強いことに価値がある

  • 法大奥山研究室 C言語

    法政大学奥山研究室 <webmaster_okuyama_at_hosei_313@yahoo.co.jp> 法政大学 | 経済学部 | 教員/ゼミ一覧 Last modified: 2014/10/11 11:42:01 Accessed: 2024/03/22 10:39:35 /unix/C/index.html, 0.3625 Copyright (C) 2001-2024 Toshiyuki Okuyama. All Rights Reserved.

  • Cプログラミング診断室

    はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見というべき 内容の修正から、

  • On-line Manual of "operator"

    ihag
    ihag 2006/05/30
    便利なので
  • Splint Home Page

    Secure Programming Lint SPecifications Lint First Aid for Programmers Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes. With minimal effort, Splint can be used as a better lint. If additional effort is invested adding annotations to programs, Splint can perform stronger checking than can be done by any standard lint.

    ihag
    ihag 2005/12/30
    lint
  • 1