タグ

Cとprogrammingに関するat_yasuのブックマーク (11)

  • やり直しC言語:複雑な宣言の読み方

    C言語は宣言文が非常に読みにくいことで有名で、後発のGo言語はこれを批判して宣言の構文を変えています。私もずっと読むのが苦手だったのですが、私の頭が悪いのではなく、C言語の仕様がヘン、ということらしい。 今まで飽きるほどこの手の解説は書かれてきてるわけですが、自分なりにまとめないと覚えた気がしないので、あえてまとめておきます。ここに書いてある内容は、「C言語ポインタ完全制覇」に詳しく書いてあります。 型の派生 C言語では、int, char, floatなどの基型から、配列やポインタを派生していくことができます。対象を並べたものが配列で、対象を指し示すのがポインタです。 配列やポインタからも配列やポインタを派生できるので、派生パターンは無限に存在します。 int int の配列 int の配列 の配列 ... int へのポインタ int へのポインタ へのポインタ ... int への

    やり直しC言語:複雑な宣言の読み方
  • C言語は今でも価値のある言語か?

    Couchbaseの作者Damien Katz氏は,C言語はバックエンドプログラミングにおいて現在でも優れた言語である,という意見を持っている。しかし他の開発者は,C言語はあまりにも欠陥が多いとしてC++Javaを支持するもの,あるいはいずれも好まないというものなどさまざまだ。 CouchDB の開発者であるDamien Katz氏は,The Unreasonable Effectiveness of C と題した先日のブログ記事において,C言語がバックエンドのための優れた言語であると断言した。氏はC++Java,さらにはErlangやRubyのようなより現代的な言語よりも,今後もC言語を支持していくつもりだという。ただし単純に,C言語を他のどれよりも優れた言語だと言っている訳ではない。"言語自体のパフォーマンスと信頼性が重視される場面においては,C言語に比類する言語は皆無である",別

    C言語は今でも価値のある言語か?
    at_yasu
    at_yasu 2013/01/28
    だいたい同意。VMがバグってたら話しならんもんね…
  • CVE-2012-2122 MySQL における認証迂回の脆弱性について – IIJ Security Diary

    この脆弱性は2012年5月7日にリリースされた MySQL バージョン 5.1.63 と 5.5.24 において修正されました。認証時に指定するパスワードは何でもよく、認証要求を繰り返すと一定確率でログインが可能というかなり奇妙な脆弱性です。すべての環境において発生するわけではありませんが、攻撃成立時には深刻な影響を受けます。 該当するバグチケットは以下です。リリースバージョンも同様の修正でした。 MySQL Bugs: #64884: logins with incorrect password are allowed Rapid7 により PoC や影響が確認された環境等が纏められています。 CVE-2012-2122: A Tragically Comedic Security Flaw in MySQL アプリケーションに対するコード修正は1行のみ、発生する環境が限られている、非常

    CVE-2012-2122 MySQL における認証迂回の脆弱性について – IIJ Security Diary
    at_yasu
    at_yasu 2012/06/15
    稀にあるtypecastのバグ
  • ISO/IEC 14882:2011

    ISO/IEC 14882:2011 Information technology — Programming languages — C++ ISO/IEC 14882:2011 specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, and so ISO/IEC 14882:2011 also defines C++. Other requirements and relaxations of the first requirement appear at various places within ISO/IEC 14882:2011. C++ is a gene

    ISO/IEC 14882:2011
    at_yasu
    at_yasu 2011/09/03
    C++11仕様書
  • 2038年問題 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "2038年問題" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2015年7月) 上から、2進・十進・問題のある時刻・正しい時刻。(GIFアニメ)3時14分7秒を超えたところで負の値となり、時刻に狂いが生じる恐れがある。 コンピュータおよびコンピュータプログラムにおける時刻の表現として「UNIX時間」《協定世界時における1970年1月1日0時0分0秒からの経過秒数[注釈 1]》を採用しているシステムがある。 UNIXおよびUNIX派生のオペレーティングシステム (OS) における基幹ソフトウェア部品の多くはC言語で書かれているが、前述

    at_yasu
    at_yasu 2010/09/21
    「NTPやMicrosoft Windowsなど、1900年1月1日からの積算秒数で時間を表現するシステムもあり、符号なし32ビットの値が2036年2月6日にオーバーフローすることによって問題が発生する」
  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
    at_yasu
    at_yasu 2009/11/09
    Oh... Crazy...
  • Big Sky :: jjencodeをc++に移植してみた。

    先日「jjencodeをApacheのmod_ext_filterに仕込む」という記事でhasegawaさんのjjencodeをgoogle chromeなんかで使われているjavascriptエンジン"v8"で動かしてみたのですが、あまりに遅いですし、一回javascriptエンジンが走ってしまうという事がボトルネックに繋がっているんだ...という勝手な推測の元、「jjencodeをv8に依存しない形でc++に移植しよう」と思い始めたのがこの記事をポストする30分前。今出来上がりました。テストしながら書いてます。 まず、オリジナルのまま関数で移植しました。ふつーのC++のコードです。 #include <sstream> #include <iostream> #include <string> using namespace std; string jjencode(string gv

    Big Sky :: jjencodeをc++に移植してみた。
  • S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル: 3世,サムエル・P. ハービソン, ガイ・L.,ジュニア スティール, 3,Samuel P. Harbison, Guy L.,Jr. Steele, 玉井 浩: Ama

    S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル: 3世,サムエル・P. ハービソン, ガイ・L.,ジュニア スティール, 3,Samuel P. Harbison, Guy L.,Jr. Steele, 玉井 浩: Ama
  • C/C++ リファレンス

  • C-users.jp - 日本のC/C++ユーザのためのハブサイト

    YAPC::Asia 2008でMichael Schwernは「SEOに有効な独自ドメインを取って、もっとPerl初心者が集まりやすいniceなPerlの情報を集めたサイトを作れ!」といったそうです。そして「Perl-users.jp - 日Perlユーザのためのハブサイト」ができました。これはC/C++も同じではないのか。そう思い、c-users.jpドメインを取って、ここにC-users.jpを開始します。平成二十年六月四日 流れに乗っかって、発作的にドメインを取ってサイトだけ立ち上げましたが、当然の如くノープランです。 ポリシー的な物 C及びCの拡張言語(C++C++/CLI、Objective-C、Cg、SystemCなど)の話題について広くキャッチアップしたいと思います。 後継言語(C#、Dなど)については関与しません。 Win32 APIやDirectXなどの話題があっ

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 1