タグ

CとC++に関するmitsuki_engawaのブックマーク (6)

  • C/C++に文字エンコーディングバリデーション機能がないって、ほんと? - kazuhoのメモ置き場

    通りすがり (2009-09-16 18:09) > PHP以外の言語は「(略)」のに対し ここに挙げられている言語がWebアプリで使われる全ての言語ではない。 例えば、CやC++にはない。付け足せば、PHPPerlなどのCモジュール内部で起こった不正な文字はスルーされうる。 よって、「PerlJava、.NETRubyPHPの中では」と書けば筋は通るが、「PHP以外では」は誤り。 そしてそんなことを、PHPの(脆弱性撲滅に注力している)開発者に言ったら、喧嘩を売られたと受け止められて当然。 PHP以外では: 既にあたり前になりつつある文字エンコーディングバリデーション - 徳丸浩の日記(2009-09-14) というコメントが気になった。 C言語にある文字コード変換機能って言ったら mbtowc だと思うけど、mbtowc は無効なバイト列を受け取ると EILSEQ を返すことに

    C/C++に文字エンコーディングバリデーション機能がないって、ほんと? - kazuhoのメモ置き場
  • Intel C /Fortran Compiler for Linux 10.0登場 | エンタープライズ | マイコミジャーナル

    Intelは25日(米国時間)、「Intel C++ Compiler for Linux 10.0」および「Intel Fortran Compiler For Linux 10.0」を公開した。Intel C++ CompilerはC/C++コンパイラとデバッガを含んだ開発ツール。Intel 32ビット/64ビットプロセッサにおいて高い性能を発揮することを目的としている。同コンパイルを使うとHyper-Threadingテクノロジの機能を活用できるほか、スレッドアプリケーションのサポート、最適な技術の提供などが実現されている。GCC 3.x/4.xおよびG++と互換性があるため、既存の開発環境と統合しやすいという特徴もある。 Intel C++ Compiler for Linux 10.0では、パフォーマンスの改善、マルチコアへの対応強化、スレッド処理の改善、セキュリティチェック機能

  • 鍋あり谷あり - 左辺値に条件演算

    先日書いた (a<b?a:b)=0 の類。 rubyでもjavascriptでも文法エラーだった。 rubyについてはまあそうかなと思ったんだが、javascriptで通らないのはちょっと意外であった。 よく考えると、あるいはよく考えなくても、なんとなく不自然な式である。 条件式の結果を左辺に書ける言語って、C/C++以外にあるのだろうか。 当然BCPLが有望なわけだが、処理系がない。 朝電車の中で、w-zero3[es]でちろっと書いた記事が、リンク元の記録を見る限り500以上のアクセスを集めてちょっとびっくりした。ブックマークやトラックバックもついてるし*1。 で。 ちょっと解説じみたことを。 (a<b?a:b)=0 だと妖しげだが、 int & smaller( int & a, int & b ) { if (a<b){ return a; } else { return b; }

    鍋あり谷あり - 左辺値に条件演算
  • 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の差分のびみょーな話
    mitsuki_engawa
    mitsuki_engawa 2007/02/04
    げろげろ
  • log.utashiro.com: 『C/C++ セキュアコーディング』発売です

    JPCERT/CC の連中と翻訳していた『C/C++セキュアコーディング』が Amazon で予約可能になってます (なんと1896位だっ!)。出版予定は 11/6。協力して頂いた方々、ありがとうございました。Cのプログラマはもちろんなんですが、基的な仕組みがきっちり解説してあるので、案外コンピュータアーキテクチャの勉強にもなると思いますよ。普通の教科書で勉強するよか面白いかも。 また、このの著者である Robert C. Seacode (すごい名前でしょ :-) さんを呼んで行うセミナーの受け付けも始まってます。26日まで早期割引受付中。 http://www.jpcert.or.jp/seminar.html 目次はこんな感じです。 ↓ 序文 書について 前書き 想定している読者 構成と内容 謝辞 著者について 第1章 今そこにある危機 1.1 現状認識 1.1.1 被害規模

  • リンクと同名シンボル: weak シンボル編 - bkブログ

    リンクと同名シンボル: weak シンボル編 先日の記事では静的リンクの際に同名シンボルの衝突は検出されると書きました。しかし、 weak シンボルが存在すると話は変わります。 次のようなプログラム main.cpp があります。 #include <iostream> class Foo { public: Foo(int x) : x_(x) {} void func() { std::cout << x_ << std::endl; } private: int x_; }; int main () { Foo foo(256); foo.func(); return 0; } このプログラムをコンパイルして実行すると 256 と表示されます。 % g++ -c main.cpp % g++ -o main main.o % ./main 256 ここで、main.cpp とはまった

    mitsuki_engawa
    mitsuki_engawa 2005/10/12
    リンクと同名のシンボル(まとめ)
  • 1