釣られてみた

question:1194699919 回答 3 に釣られてみた。 再生テスト t120o4l4v15@3 cdefgab

汚染源は McAfee SiteAdvisor だった!!

Mozex 1.9.5 が動かないのも Make Link 3.0.2 が動かないのも、McAfee SiteAdvisor が Array クラス*1を汚染しているのが原因だった。 McAfee SiteAdvisor は、起動されると https://sadownload.mcafee.com/products/sa/firefox/search.dat をダウンロードす…

Make Link 3.0.2 が動かない

Mozex 1.9.5 と同様 Make Link 3.0.2 も動かない。 調べてみると、動かない箇所も同様だ。 info['title'] = getPageDescription( window.content.document ); } if (useEntities) { for (i in info) { info[i] = info[i].replace(/&/g, "&") // ←ここ こ…

悪質回答者の排除

question:1192856662 今回も悪質回答者を排除する目的で回答者を「はてな質問者」に限定したが、id:amagami さんから「門前払い」ではないかというご意見を頂いた。また、id:goldwell さんからは「ダイアリー市民」に限定してはどうかというご意見を頂いた。…

matrix ライブラリーの使い方

question:1191841779 matrix ライブラリーの使い方が少しわかったので、それを使って書き直してみた。 require 'matrix' class Vector2 < Vector DIMENSION = 2 def self.[](*array) self.Raise ErrDimensionMismatch if array.size != DIMENSION super end …

関数へのポインターの出力(C++ 編)

fptostr.c を、C++ で書き直してみた。 これで、「CHAR_BIT が 4 の倍数の場合にしか対応していない」という制限は無くなった。 fptostr.cpp #include <bitset> #include <cstring> #include <limits> #include <string> #include <iostream> typedef int (*funcptr_t)(); std::string fptostr(funcptr_t</iostream></string></limits></cstring></bitset>…

関数へのポインターの出力(回答編)

question:1185077855 回答が 1 件しか付かなくて残念。しかし、コメント欄への書き込みも含めて、printf 系関数で変換指定子"%p"を使う方法しか出なかったので、やはり関数へのポインターを void へのポインターへ常に変換できると思っている人は多いのでは…

関数へのポインターの出力

question:1185077855 あるオープンソースソフトウェアのソースコードを読んでいて、関数へのポインターを出力するコードのバグを見つけた。直そうと思ったんだけど、そういえば標準規格(ISO C)として関数へのポインターを出力する方法がないことに改めて気…

Mozex 1.9.5 が動かない

Windows 版 Firefox 2.0.0.4 *1で Mozex 1.9.5 が動かないので、調べてみた。 [View Page Source]を選択すると、うんともすんとも言わないだけなのだが、[Edit Textarea]を選択すると、例外が投げられるので、これを手がかりにして問題箇所を絞り込むと、moz…

C/C++ の enum 相当の機能

question:1175229198 使い易いようにメソッドにしてみた。また、C/C++ 相当の機能と、C/C++ にも無い機能を追加してみた。*1 constant.rb #!ruby module Constant def self.enum_set(klass, names, init_val = 0) value = init_val.to_int names.each do |na…

STLでメモリーリーク?

question:1174986855 valgrind でメモリーリークが検出されるのは、どうやら std::allocator が原因のようだ。 テストプログラム #include <memory> int main() { std::allocator<int> allocator; int *ip = allocator.allocate(1); allocator.deallocate(ip, 1); } テス</int></memory>…

はてなダイアリーへようこそ!

このページはあなた専用の日記(ブログ)です。*1さっそく「日記を書く」をクリックして最初の記事を書いてみましょう。はてなダイアリーの一番簡単な使い方を知りたい方は、以下の動画をご覧ください。(再生ボタンをクリックすると、はてなダイアリーの使…