2006年1月15日のブックマーク (15件)

  • Secure Template Overloads

    Microsoft has deprecated many C Runtime library (CRT) functions in favor of security-enhanced versions. For example, strcpy_s is the more secure replacement for strcpy. The deprecated functions are common sources of security bugs, because they don't prevent operations that can overwrite memory. By default, the compiler produces a deprecation warning when you use one of these functions. The CRT pro

    Secure Template Overloads
  • Microsoft Learn: Build skills that open doors in your career

  • gccでのThread-Local Storage

    5.49 Thread-Local Storage Thread-local storage (TLS) is a mechanism by which variables are allocated such that there is one instance of the variable per extant thread. The run-time model GCC uses to implement this originates in the IA-64 processor-specific ABI, but has since been migrated to other processors as well. It requires significant support from the linker (ld), dynamic linker (ld.so), and

    yupo5656
    yupo5656 2006/01/15
    TLS
  • 2005-10-17

    2005/10/18 01:23:35 JST Bug#:334383: ca-certificates: Spanish debconf translation 2005/10/17 23:11:53 JST http://namazu.org/~satoru/blog/archives/000065.html gcc の最適化で printf が puts になる場合。その他にもいくつかあるみたいで。 gcc/src/builtins.cのexpand_builtin_printf()のあたりですねぇ。 これみると 返り値みてる時はprintfのまま "%s\n" の時 puts "%c" の時 putchar "" の時、printfをなくす fmtが1文字だけの時(ex. "c") putchar fmtがconst文字列で\nでおわっている時 puts というかんじで。 -fno

    yupo5656
    yupo5656 2006/01/15
    expand_builtin_printf
  • d.y.d - instanceof

    21:40 06/01/31 修論 第一稿submit!やほー!学科内発表も最終稿締め切りもまだまだ先に控えてますが、 だいぶ気が楽になりました。 塔 Re: Block Tower。 同じ直方体を2度通らないという制約が、簡単そうに見えてなかなか厄介に思えます。 普通のダイクストラ法なら各頂点でそこまでの最短経路さえ覚えとけば済むんですけど、 同じ直方体を2度使わないようにするためには、各頂点ごとに 「ある直方体Xを通う最短経路」「使わない最短経路」を両方計算しておく必要が あって、それを計算するには「直方体X,Yをどっちも使わない経路」やらなにやら、 理論的には最終的に全ての頂点集合2n個について、それを使わない 最短経路が入用になったりと。 あーでも、実際にはほとんどの「使わない経路」は共有できるからうまくやれば行けるかな? 古くから、風が吹くと桶屋が儲かるとは申しますが、それと

    yupo5656
    yupo5656 2006/01/15
  • 標準Cライブラリ - Wikipedia

    診断機能 assert.h[編集] ヘッダ assert.h がインクルードされる時点における NDEBUG マクロの定義状態により、実行時診断機能の有効・無効を切り替えることができる。 assert — NDEBUG マクロが定義されていない場合に実行時診断を行う。 C11で、翻訳時に確定する式を対象にアサーションする static_assert が追加された。 複素数 complex.h[編集] 複素数の演算、虚数単位の定義、実部と虚部の分離機能などが含まれている。 complex — 複素数型 I — 虚数単位 cabs — 絶対値 carg — 偏角 cacos — 逆余弦 cacosh — 逆双曲線余弦 casin — 逆正弦 casinh — 逆双曲線正弦 catan — 逆正接 catanh — 逆双曲線正接 ccos — 余弦 ccosh — 双曲線余弦 cexp — 指数

    yupo5656
    yupo5656 2006/01/15
    ちょっと便利?
  • なんだってー!! 旧作品No.23016 | pya! (ネタサイト)

    「今年から干支に『琢郎年』が加わった」 「「「子丑寅卯辰巳琢郎ーーーっ!?」」」 その寸感無理があるんじゃ・・・カウンター : 781

    yupo5656
    yupo5656 2006/01/15
    キバヤシ
  • はてなブログ

    なぜ日報を書くのか ※この文章は「日報を書くの良いですよ!」という事を進める文章ではないです。 あくまでも自分がScrapboxで外部向けの日記を書いたり、社内のドキュメントツールで日報を書いていく内に思いついた考えを一旦まとめたくて書いています。 元々は社内向けで書いていたので…

    はてなブログ
  • C++ ABI compatibility on GCC - Cry's Blog

    ずげげ. GCC が吐くバイナリの ABI ってバージョン3桁全て(3.4.4 とか 3.3.6 とか)で指定されるのか.実行バイナリのバージョンタグ付けバージョン3桁とも指定しなきゃいけないじゃん.ぶ〜ぶ〜ぶ〜.でも,何か ABI 周りでイヤンなことが起きたときに changes 漁るなんてちょーめんどくさぅ〜なことしたくにゃいしにゃ〜. 参考 http://www.codesourcery.com/cxx-abi/ - C++ で ABI 互換性の問題が出る部分を列挙した資料. C++ の ABI 互換性について一番基と目される資料 http://gcc.gnu.org/onlinedocs/libstdc++/abi.html - GCC の libstdc++ の ABI 互換性 & versioning の資料だけれど参考までに

    C++ ABI compatibility on GCC - Cry's Blog
    yupo5656
    yupo5656 2006/01/15
  • つれづれ日記

    yupo5656
    yupo5656 2006/01/15
    valgrind 「mallocしたものはdeleteしちゃいけないよ」
  • mugiwara Dev. memo - インラインアセンブラ

    yupo5656
    yupo5656 2006/01/15
    「暗黒面に墜ちるので内緒だ」
  • memologue - シグナルハンドラを使わないでシグナルをハンドルする

    「シグナルハンドラの中でできることは非常に限られているんですよ」というお話を1年半くらい前に書きましたが、この話には続きがあって、ある特定の条件下ではこの制限を緩和することができます。今回はその方法についての解説です。sigwait(3)という関数を使います。 ※ この話、うっかり書き忘れていました。ちょっとしたきっかけで思い出したので、暇があるうちに書いておきます。 ■「シグナルを待つ」処理 〜従来の方法〜 皆様、「シグナルの到着を待つ」処理を、次のように書いてしまっていないでしょうか? // シグナルハンドラ void handler(int signo) { // この中で使って良いのは非同期シグナルセーフ(async-signal-safe)な関数のみ }を用意して、 sa.sa_handler = handler; sigaction(SIGHUP, &sa, NULL); ..

    memologue - シグナルハンドラを使わないでシグナルをハンドルする
    yupo5656
    yupo5656 2006/01/15
  • yaneuraoGameSDK3rd - double checked lockingパターン

    singleton シングルトンとは、アプリケーション全体で、唯一のオブジェクトを生成するパターンを意味します。「シングル�d」などと書くと、ちょっと格好いいような、悪いような(笑) それはともかく。 シングルトンなオブジェクトの生成は、単純には次のように実装します。 list-1 template <class T> struct singleton { T* GetObj() { if (pObj_ == NULL) { pObj_ = new T; } return pObj_; } singleton() : pObj_(0) {} ~singleton() { delete pObj_; } T* pObj_; }; このsingleton::GetObjはstaticな関数からも参照され得るので、このsingleton自体がstaticなメンバとして用意する必要があり

    yupo5656
    yupo5656 2006/01/15
    DCLP
  • 2005-12-30

    C言語にコピーGCを実装できるような気が突然したので、 家に帰って早速作ってみた。 C言語から使えるGCとしてはBohemGCが有名であるが、 あれはmark-and-sweepだったはずなので、 あんまりパフォーマンスはよくないと思われる。 (mark-and-sweepはストレージに比例する時間、 コピーGCは生きているデータに比例する時間がかかるゆえ) なお、今回の実装は原理的にはジェネレーショナルにするのもたやすいので、 潜在的パフォーマンスはもっと高いと言える。 今回の実装を説明する。 int with_gc(int (*f)(),int heap_size=1024*1024); void *gc_malloc(int size); void force_collect();with_gc() は後述。 gc_malloc() はメモリを確保する関数。 確保したメモリは参照が外

    2005-12-30
    yupo5656
    yupo5656 2006/01/15
  • ABAの日誌

    せっかく最近ECMAScript触っているので、前にヨタで言っていた、Google Maps APIでスクランブルフォーメーション(id:ABA:20050711#p1)をやってみようと思って、挫折。やっぱきつい。まあもともとこんな使い方をするためのものじゃないから、当たり前といえば当たり前。 一応途中まであがいた跡がこれ。ビットマップはゲーム製作技術板/シューティングゲーム製作技術総合スレの素材を利用させてもらっている。 Google Maps APIシューティング挫折版(http://www.asahi-net.or.jp/~cs8k-cyu/javascript/gma_shmup_test/) 重すぎる。フレームレートもばたつきすぎ。やっぱりスプライトをマップ上のマーカーで代用するのに無理がありすぎた。 単に挫折だけだともったいないので、作っている最中に分かったことを適当に書いてお

    ABAの日誌