2011年8月24日水曜日 PHP5.3.7のcrypt関数のバグはこうして生まれた 昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitte... 続きを読む
以下の文章は、Michael Feathers による On Loving C.. の日本語訳である。 文中の固有名詞などについて理解の助けとなるよう Wikipedia へのリンクを加えさせてもらった。 認めなければならないことがある。私は C を愛している。しばらくはそれを意識していて... 続きを読む
LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #1/3LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #2/3LLVM Project Blog: What Every C Programmer Should Know About Undefined Beh... 続きを読む
確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。 確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。 確かにCで... 続きを読む
C言語に初めて触ってから20年のロートルですが今まで知りませんでした。man fopen より。 The fopen() function opens the file whose name is the string pointed to by filename and associates a stream with it. ``a'' Open for writing. The file is creat... 続きを読む
WhyINoLongerLikeOrUseCPlusPlus - もう C++ なんて好きでもないし使いもしない理由。 目次 この文書について もう C++ なんて好きでもないし使いもしない理由。 もう C++ なんて好きでもないし使いもしない理由。 この文書について "Why I No Longer Like or U... 続きを読む
2009/01/29 東陽テクニカは1月28日、組み込みシステム開発向けのコンサルティングサービスを提供するエクスモーションと業務提携を結んだことを発表した。今回の提携で両社は、東陽テクニカが販売しているソースコード解析ツール「QAC」を活用したソフトウェア... 続きを読む
C Codは、C、C++、またはObjective-Cコンパイラのフロントエンドとして、C言語をスクリプティング言語のように扱うことを可能とするものである。C Codには、C Server Pagesが付属している。C Server Pagesは、ウェブアプリケーションをCまたはC++で記述し、それ... 続きを読む
Conditional-CSS allows you to write maintainable CSS with conditional logic to target specific CSS statements at both individual browsers and groups of browsers. Target CSS to any web-browser Streamline maintenance of your CSS files Optimise ... 続きを読む
programming, security, CCで文字列操作のコードを書くのは,実はとても難しい.Cでは一般的な文字列はcharの配列としてしか定義されず,しかも長さの情報は文字列終端コードの'\0'でしか表現されないため,配列の実体を一度読んでみないとわからないからだ*1.... 続きを読む
C コンパイラの中には、最適化処理において、ポインタ演算のオーバーフローチェックを行うコードブロックを省略することがあります。従って、こうしたコンパイラを使ってコンパイルしたアプリケーションは、バッファオーバーフローの影響を受ける可能性がありま... 続きを読む
C言語は、ポインタが使える言語です。ポインタを使えば、メモリの直接的な操作など、より柔軟なプログラミングが可能です。一方、そのためにはポインタがどのようなメモリ領域を指し示しているか、またポインタ自体が有効なアドレスを保持しているかなどについ... 続きを読む
これは、ちょっと これは、かなり 上記で話題になった記事ですけど、他のも覗いてみた。 C/C++のデータ型と書式を知る:入力の書式 #include <STDIO.H> .......... char a[11]; /* 半角10文字分の文字列を保持する変数(配列) */ scanf( "%s", a ); /* 変数aに文... 続きを読む
C/C++のポインタの機能--参照渡し(builder by ZDNet Japan)より: #include int main( void ) { int *n; *n = 5; /* ポインタ変数nに値5を代入 */ printf( "%d\n", *n ); /* ポインタ変数nが持つ値(5)の出力 */ return 0; } 難しい概念を、初学者にもわかるよ... 続きを読む
ネタ元 → これは、ちょっと なんか凄まじそうだったので読んできたけど...もうどうすりゃいいのやら。 ポインタ変数の宣言では、一般の変数の場合とは異なり、名称の先頭に*がつけられる。 のっけから間違ってます。名称の先頭に*がつくんじゃありません。 そ... 続きを読む
ポインタは、それに特化した内容の書籍も発刊されているほど、C/C++言語の最も特徴的な機能だ。配列とも深い関係を持つその機能を紹介しよう。 ポインタ変数の特徴 ポインタ変数には、一般の変数とは異なる以下のような特徴がある。これらについて順に説明して... 続きを読む
strchr() ではまった話 標準Cライブラリに strchr() という関数があります。文字列の先頭から指定した文字を探すという単純な関数なのですが、先日、意外な仕様を知りました。 以下のコードを見てみます。 if (strchr("+-*/", c)) { // c は四則演算の記号かな?... 続きを読む
はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++、Java、VB.NETさらにはRubyやPython... 続きを読む
「Why I hate C」という記事がありました。 私は個人的にはC言語が好きですが、C言語が嫌だという視点も面白いので要約してみました。 かなり削っているので詳細は原文をご覧下さい。 C言語は組み込みに使うには良い言語ですが、その他の99.9%のアプリケーショ... 続きを読む
ふと、 main = 195; とかやって喜んでいた私はバカだったんじゃないかと思いました。 Binary 2.0 などとうかれてほとんどバイナリのコードをゴルフに submit してたのはどうなのか、と。プログラムは ASCII で書くべきだったんじゃないでしょうかと。それもメン... 続きを読む