タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとProgrammingとtechniqueに関するAmaiSaetaのブックマーク (31)

  • δ符号によるデータ圧縮の応用事例:CodeZine

    はじめに 前回『δ符号によるデータ領域の節約』にて紹介したδ符号を応用して、アドホックな高密度データ圧縮を実装した応用例を紹介します。 対象読者 データ圧縮、特に独自方式での高密度データ格納に興味がある方を対象としています。δ符号に関する知識(参考:拙稿『δ符号によるデータ領域の節約』)を前提としています。 また、C++の基的な文法および演算子についての知識が必要です。クラスやテンプレート、STLなどは使用していません。 必要な環境 稿の対象環境は、Microsoft Visual C++ 6.0以降のMicrosoft社製C++コンパイラです。一部にインラインアセンブラ、およびPentium命令を使用しています。他のC++環境への移植はさほど困難ではありません。しかし、C環境に移植する場合は、関数の多重定義に留意してください。 圧縮を行ったデータについて 稿にて圧縮

  • [C++] delete this - bnezの日記

    C++話.delete this,すなわち「自殺するクラス」について. delete thisという操作は,不正ではないが注意深く行う必要がある. ごく単純なコードは次のようになる. suicideは自分自身を破壊するpublicな非静的メンバ関数で,自らの意志で自 殺する際に他のメンバ関数から呼ばれる.あるいは,オブジェクト自身の手で は自殺が行われない場合に,自殺を行わせるために外部から呼び出される. suicide内でdelete thisが行われると,thisポインタが指すオブジェクトは破 壊され,記憶領域は開放される.したがって,以後は非静的データメンバへの アクセスと仮想関数呼び出しを行ってはならない.どちらの操作もthisポイン タが指す先を参照するからだ.また,非静的非仮想メンバ関数を呼び出すこと, thisの値を評価することも控えた方が懸命である: これらの操作は通常は致

  • C/C++ Technical Documents

    C++ 寄稿記事 επιστημη 氏から寄稿していただいた、開発者の方々にお役に立つテクニカルドキュメントです。Articles、References、Miscelaneousに分かれて説明しています。初心者の方からプロの方まで役に立つ読み物と資料集です。是非、開発のお役にお立て下さい。 Articles: 読み物 References: 資料集 Miscelaneous: 番外編

  • Inheriting a C++ enum type

    AmaiSaeta
    AmaiSaeta 2006/11/21
    C++列挙型で継承っぽい事をする。 | うーん、面白いけど使い道あるかこれ?チョット考えてみる。
  • 二流プログラマの三流な日常: DLL単体からLIBを作る

    LIBが欲しいんだけど、DLLしかないと言われました。そんなとき、貴方ならどうしますか? Win32APIで提供されているLoadLibrary、GetProcAddressを使えと説得する LIBファイルを自力で作る ここでは、後者の方法について紹介します。 最初にいっておきますが、関数の定義を知らずに呼び出すことを目的とした話ではありません。ヘッダくらいはあるものとし、WindowsSDKにある標準のツールで素早くLIBを作成する方法です。 方法は以下の2ステップです。 DEFファイルを作成する DEFファイルとDLLからLIBを作成する DEFファイルとはDLLからエクスポートする関数について定義したテキストファイルです。自分で作っても良いのですが、DLLにある関数を延々手で打っていくほど暇ではないため、dumpbinコマンドを使います。 > dumpbin /exports dll

    AmaiSaeta
    AmaiSaeta 2006/11/19
    dumpbinの説明。 | <独り言>うーん、dumpbinの出力から.def作るのにスクリプト使わないと言うのはチョット(時間が無いとかならともかく)……</独り言>
  • 二流プログラマの三流な日常: strcpyは常に危険か?(2)

    数ヶ月前にふと思い立ってこんな記事を書いたのですが、思ったより反響が大きいため、多少ブラッシュアップしてみました。目的としては「文字列をコピーする作業を含む関数を作成する時に考慮する事」です。 一番簡単な、関数の引数で長さは与えられない状況を検討します。 引き続き、ご指導いただけたら幸いです。 ■ 命題 文字列を単純にコピーする操作を含む関数を作成する。関数の引数で長さは与えられない。 ■ 基礎知識 スタック、ヒープを問わず、CやC++のポインタは何処までアクセスして良いかを関数内部で判断出来ない。 →関数内部だけで完全にセキュアな文字列関数を作ることは出来ない。引数に長さが与えられても、多くの対策が出来るからセキュアなだけである。 →関数外部の入力検証・浄化が完璧であるならば、strcpyはセキュア →入力の浄化を行っていない場合、どんな関数でもインセキュア、しかし、関数内で二重の防護措

  • C++言語 パフォーマンス - redstrange Wiki*

    何か気付いた点があれば、追記をよろしくお願いします。 参考 http://www.open-std.org/JTC1/SC22/WG21/ http://www.open-std.org/JTC1/SC22/WG21/docs/TR18015.pdf http://www.s34.co.jp/cpptechdoc/article/sizeof/index.html 参照 - reference 自前のクラスなどの場合、参照を使う方が早い 組み込みの型の場合、参照を使わない方が早い 名前空間 - namespace 名前空間が、パフォーマンスには影響を与えることはない。 メモリ的にも実行速度的にも。 ただし 関数などの識別子を短くすることの妨げになることがある メモリ上の配置が変わる可能性もある キャスト - cast C表記、C++表記いずれにしても一時的なオブジェクトが作られる可能性があ

    C++言語 パフォーマンス - redstrange Wiki*
    AmaiSaeta
    AmaiSaeta 2006/08/29
    C++パフォーマンスについて
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

    AmaiSaeta
    AmaiSaeta 2006/07/07
    ハンガリアン記法発案者チャールズ・シモニイにゴメンナサイを言いたくなった。そしてそれをシステム・ハンガリアンに変えた誰かに呪詛の言葉を。(lo
  • シェルスクリプトの基本テクニックを盗め!:CodeZine

    1. はじめに 稿では、実際に活用されているシェルスクリプトを取り上げ、シェルスクリプトを作成する際のいくつかのテクニックを紹介します。どれも基的で応用範囲の広いテクニックなので、多くの読者に参考にしていただければと思います。2. シェルスクリプト サーバ運用にしろ業務システム運用にしろ、LinuxやFreeBSDといったUNIX系OSを活用する場合、ツールとしてのシェルスクリプトは欠かせない存在です。いかにして建設的に手を抜きつつ、処理を自動化して効率化を達成できるかどうかは、シェルスクリプトの活用いかんにかかっていると言ってもいいでしょう。 もちろんそれはシェルスクリプトに限らず、ほかのプログラミング言語でも問題ありません。シェルスクリプトと他のプログラミング言語を比べた場合、シェルで使っているコマンドをそのまま使えることが、シェルスクリプトの最大の特徴であり利点です。 他人が作成

  • Andore.com may be for sale - PerfectDomain.com

    Get a free logo with your purchase of ANDORE.COM We have a 90%+ satisfaction rate from our customers

    Andore.com may be for sale - PerfectDomain.com
  • - チャートでわかるリファクタリング

    XPが注目を集めている昨今では、リファクタリングという言葉を聞いたことのある人は、結構多いことでしょう。この特集記事は、リファクタリングについて扱います。参考書籍「リファクタリング」の中に出てくる言葉で、私が一番好き、というよりも、心に留めている言葉があります。「すぐれたプログラマは人間にとってわかりやすいコードを書く」という言葉ですが、 これこそリファクタリングを表す言葉として非常に適切だと思います。