C++に関するNao_uのブックマーク (172)

  • tricklib.com

    This domain may be for sale!

    Nao_u
    Nao_u 2009/01/18
  • 2008-12-30

    ちょうど面白い話をしてるところなので、自分が使える言語を整理してみた。しかしよく考えるとゲームプログラマってアセンブリ、C言語、C++ は絶対使えるし(使えないと就職できん)、さらに VLSL、HLSL あたりは使えてもおかしくないよね…… その前に、VMXはどこに入るの? VMXは、あれはあれでひとつの低レベルプロセッサ制御な気がしてならないんだけど、まぁ言語でいえばC言語になるのか…… 業務で使えると言い張る言語 アセンブリ(Z80, 68k, x86, PowerPC) C言語 C++ Java(昔ケータイやった C#(XNAでいけと言われればいく自信ある VLSL HLSL(Cg言語はここにカウントアップ Lua GameMonkeyScript PHP(たぶん(^_^;) よく考えると、プログラマブルシェーダ言語って VMX と同じで、ハードウェア制御技術であってプログラミング言

    2008-12-30
  • ひげぽん OSとか作っちゃうかMona- - C++のリファクタリングツール Xrefactory

    もはや技術者の必読書*1となりつつある「リファクタリング―プログラムの体質改善テクニック」ですが、 その作者であるマーチンファウラー氏のMartin Fowler's Bliki in Japaneseを読んでいてふと思った。 C++のリファクタリングブラウザ(リファクタリングツール)ってないのかなと。 全然詳しくないんですがVisual Studioにはリファクタリング機能がついているそうですが、僕は普段のコードがほとんどEmacsとg++なので探してみました。 C++は仕様がとても大きくて、他の言語と比べてリファクタリングブラウザを作るのがとても大変らしくなかなか見つかりませんでしたが、Refactoring Toolsで紹介されていたのがXrefactoryです。 Xrefactoryはシェアウェアで8日間試用出来るので試してみました。 インストール 1. http://xref-t

    ひげぽん OSとか作っちゃうかMona- - C++のリファクタリングツール Xrefactory
    Nao_u
    Nao_u 2008/12/25
  • C++0xのマルチスレッド機能

    はじめに C++の新しい標準規格である「C++0x」の大きな新機能の1つが、マルチスレッド処理のサポートです。 従来のC++では、マルチスレッド機能は標準規格の拡張としてコンパイラごとに提供されていたため、細かな部分がコンパイラやプラットフォームによって異なっていました。しかしC++0xでは、すべてのコンパイラが同じメモリモデルに準拠し、同一のマルチスレッド機能を利用できることになります(ただし、従来同様の拡張をコンパイラが独自に提供することも可能です)。 開発者の立場からすると、マルチスレッドのコードを別のコンパイラやプラットフォームへ移植するときの手間を大きく省くことができます。複数のプラットフォーム向けの開発を行う場合でも、種々雑多なAPIや構文をいくつも頭に入れておく必要がありません。 新しいスレッドライブラリの中心を担うのは、実行スレッドを制御するstd::threadクラスです

    C++0xのマルチスレッド機能
    Nao_u
    Nao_u 2008/12/02
  • VC++構造化例外メモ(Hishidama's VC++2005 SEH Memo)

    これらはマクロなので、実際は整数が割り当てられている。 しかし__except()は正か0か負かという判断しかしてないらしいので、実はどんな値でもよい…? とは言え、上記のようなマクロが定義されているんだから、それを指定するべきだろう。 という訳で、__exceptの括弧内に式(MSDNではフィルタ式と称している)を書いて最終的に整数を返すことにより、条件に応じて処理を変更することが出来る。 例えばカンマ演算子を使ったり、独自の別関数(MSDNではフィルタ関数と称している)を呼び出したりすればよい。 _EXCEPTION_POINTERS* info; __try { 処理; } __except (info = GetExceptionInformation(), EXCEPTION_EXECUTE_HANDLER) { //構造化例外の情報をinfoに入れている。 //カンマ演算子では

  • @IT Special 数百万行におよぶソースコードをすばやく解析 誤検知を制御し、不具合が検出できるツール

    電子機器から社会インフラまで、さまざまな製品を支えているソースコード。電子機器が多機能になって便利になる一方で、その元となるソースコードは増大し、複雑になり続けている。 例えば、携帯電話のケースを考えてみよう。この携帯電話の中には、数百万行におよぶプログラムが入っている。その数百万行のコードの中に、たった1行のエラーや脆弱性があるだけで、さまざまな障害を起こす可能性がある。データが消えるような障害であれば、ユーザーに大きな損害を与え、回収作業が発生して社会にも多大な影響を及ぼす。そして、最も大きな損害は企業が信頼を失う点だろう。このような事態を避けるためには、「いかにすばやくソースコードを検証し、効率よくバグや脆弱性をなくしていけるか?」が求められる。 このようなニーズに応え、あらゆる企業のテストに掛かる負担を軽減できるのがcoverityの静的解析ツールだ。その魅力を紹介する。 開発現場

    Nao_u
    Nao_u 2008/10/10
    「coverityでは試用版を用意している」
  • C++test7.1 (C C++対応テストツール): 自動フロー解析機能『バグ探偵』

    『バグ探偵』は、ソースコードを解析し、存在するすべてのパスを検出。パスの処理フローの中に潜むメモリリークや、ゼロ除算、未初期化メモリといった重大な問題の引き金となるコードを検出します。処理フローが複数のプログラムに渡った複雑なパスも検証可能なので、プログラム単位で実施する静的解析や単体テストでは発見することが難しい実行パスとデータの組み合わせによって発生するメモリリークやリソースリーク、ゼロ除算、未初期化メモリ、バッファオーバーフローの使用、NULLポインタの間接参照などを正確に検出します。ソフトウェアを実行しなければ検出することが難しい問題を静的に検証できるため、人手によるテストに比べて、網羅率の高い検証が可能となります。さらに、問題を引き起こすコードと処理フローがレポートされるので、テスト/デバッグ時間を大幅に短縮することが可能になります。 ※『バグ探偵』は、Server Edit

    Nao_u
    Nao_u 2008/10/10
    C++のソースコードを静的に解析して、致命的なバグを自動的に発見してくれるツール
  • C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ

    (追記あり/再追記あり) ブクマ経由で、C++で演算子オーバーロードしたときの演算子決定基準について調べたというのを見たのだけど、書いてあるサンプルコードが演算子オーバーロード以前にちょっとダメだった。 昔書いたテストコードと書いてあるので、今は分かってるのかもしれないけど、ある程度経験を積んだC++プログラマは絶対に(というのは言いすぎでした)virtualデストラクタのないクラスを継承しない(追記やTBやブコメの議論を参照のこと)ので、このサンプルコードを載せて違和感を感じない時点で、演算子オーバーロードをいじるよりもまずはEffective C++を読んだ方がよい。 何がダメか。以下のように、virtualデストラクタがないクラスを継承している。これはダメだ。例え基底クラスのデストラクタですべきことがないのだとしても、継承するつもりのあるクラスにはvirtualデストラクタを作らない

    C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ
    Nao_u
    Nao_u 2008/09/25
  • ある程度経験を積んだC++プログラマは絶対にvirtualデストラクタのないクラスを継承しない? - 神様なんて信じない僕らのために

    ある程度経験を積んだC++プログラマは絶対にvirtualデストラクタのないクラスを継承しない C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ はよくある間違い。あるいはC++初心者の勘違い。 継承する可能性のあるクラスにはすべてvirtualデストラクタを作る C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ ということが否定されていることは言われるようにEffective C++を読んでいればわかること。 C++では、コピー不可にするために以下のようなクラスを書いたりするが、 (コピーコンストラクタとコピー代入演算子を無効にする) class Uncopyable { protected: Uncopyable() {} ~ Uncopyable() {}

    ある程度経験を積んだC++プログラマは絶対にvirtualデストラクタのないクラスを継承しない? - 神様なんて信じない僕らのために
    Nao_u
    Nao_u 2008/09/25
  • C++: 水面下の仕組み - Microsoft Visual C++ Web Site

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    C++: 水面下の仕組み - Microsoft Visual C++ Web Site
  • あなたはC++ の発明者? それとも創造者?〜Bjarne Stroustrup氏との対話〜:CodeZine

    はじめに 「Bjarne Stroustrup氏との対話」連載を担当することになりました、豊田孝と申します。よろしくお願いいたします。 対話の相手であるBjarne Stroustrup氏は、プログラミング言語「C++」を設計し、最初に実装した人です。それだけでなく、同氏はC++を国際標準プログラミング言語の地位に付かせました。大変なエネルギーの持ち主です。 筆者はこの数年、「同氏の生き方から何かを学べるのではないか」と考えてきました。その考えは日毎に熱を帯び、「学べるはずだ!」、そしてついには、「わが国の開発者に、同氏の考え方と生き方ぜひお伝えしたい!」へと変化し今回の連載を始めるに至りました。 稿でのStroustrup氏との対話はメール交換を通して行われます。基的には、筆者が質問文を用意し、Stroustrup氏がその質問に対して高所からコメントを寄せることになります。C++言語

    Nao_u
    Nao_u 2008/07/30
  • C++でメモリに困ることはない? - 神様なんて信じない僕らのために

    RHGの逆襲第六回の懇談会で、 C++でメモリに困ることはないっていうことを 多分、shinhさんが言っていて 自分はいや、すっごい困るよ、ってな反応を思わずしてしまったんだけれども、 実際メモリが潤沢な環境が多いわけで、 うーあーうーとか言った後で思った。 (コンシューマ機などはそもそもデータじゃなく、 コードがメモリにのらないこともあるしねえ) とはいえ、 メモリが潤滑潤沢にあってもメモリ破壊が怖いので、 メモリに優しくないC++はやっぱり怖いのだった……。 C++の問題点はメモリをイメージしなければならなくて、 C++かつそのプラットフォームのメモリをイメージしながら組めるプログラマは少ない、 ってことなのかも。 例えば、polestarさんの プレイヤー攻撃くん: おいちょっとまてよ。おれいまから雷だすんだからよ ボス攻撃くん: ざけんなおれの火のほーが先に決まってんだろが? あ?

    C++でメモリに困ることはない? - 神様なんて信じない僕らのために
  • はてなブログ | 無料ブログを作成しよう

    新米と秋刀魚のわた焼き お刺身用の秋刀魚を買いました。1尾250円です 3枚におろして、秋刀魚のわたに酒、味醂、醤油で調味して1時間ほど漬け込み、グリルで焼きました 秋刀魚のわた焼き わたの、苦味が程よくマイルドに調味され、クセになる味わいです 艶やかな新米と一緒に 自家製お漬物 土…

    はてなブログ | 無料ブログを作成しよう
    Nao_u
    Nao_u 2008/07/02
  • 変電工 - Google C++スタイルガイド日本語訳

    Nao_u
    Nao_u 2008/07/02
    現実的。
  • Kazuho@Cybozu Labs: なんとなくリフレクション in C

    Nao_u
    Nao_u 2008/06/26
  • JavaScript 的な考え方で C++ Template に入門してみた - IT戦記

    はじめに id:kazuhooku さんが Kazuho@Cybozu Labs: なんとなくリフレクション in C++ という記事を書いていて、なんか凄そう! わくわく! でも、読めません>< Template 怖い>< という訳で C++ Template の勉強をしてみよう! そいえば、ちょっと前に 1000speakers で上野氏に C++ Template はチューリング完全、関数型言語というようなことを聞いたきがする! じゃあ、いろんなことが出来るはず! という訳で JavaScript で出来ることが C++ で出来るかを試してみよう! まず 関数テンプレートと構造体テンプレートどっちで JavaScript の関数を表現するべきかを考えた。 C++ の文法を考える // これはできない>< void foo() { void bar() { void baz() { }

    JavaScript 的な考え方で C++ Template に入門してみた - IT戦記
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • 例外処理、第16部

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Robert Schmidt 2000 年 2 月 17 日 勤勉な読者のみなさんから、数多くの反響と、少なからぬ量のご指摘を頂きました。そこで私は、第 14部 にある、以下に示す一対の教訓を部分的に改めます。 使える場所では、コンストラクタがスローしない、基とメンバのサブオブジェクトを使用します。 いかなるコンストラクタからもスローしてはいけません。 今回のコラムで、私はみなさんからのコメントや、様々な C++ の著名人による知識、新たに改善した私自身の解釈などについて、よく考えてみようと思います。その後で、考察をガイドラインに(作り)変えます。このガイドラインは、元々の教訓を明確に、細部に渡って説明した

    例外処理、第16部
    Nao_u
    Nao_u 2008/06/26
  • C/C++ 迷信集 | 株式会社きじねこ

    C/C++ を使うプログラマは大勢います。しかし、その多くは OJT を通して言語を学んだのではないでしょうか? 実はそこに大きな落とし穴があります。 コンピュータや工学のことをよく知らない人たちは、時代の先端を歩むプログラマには「迷信」など無関係だと信じて疑わないかも知れません。しかし、迷信や誤解はどんな世界にも常に存在しています。 というわけで、ここでは C/C++ にまつわる迷信、誤解、よくある間違いを採り上げていきます。非常に後ろ向きな企画ですが、暇つぶし気分転換に読んでみてください。もしかすると、ご自身が迷信にとらわれていたことに気付くかもしれません。 追記(2009/03/15) このコーナーでは、C/C++ にまつわる迷信、誤解、よくある間違いを扱っています。決して「迷信」だけではないのですが、タイトルにはすべて[迷信]を付けています。 これは、主に検索エンジンでタイトルを見

    Nao_u
    Nao_u 2008/06/26
  • Microsoft が提供する C/C++ ヘッダファイルにおける事前条件・事後条件の充実っぷりは異常 - NyaRuRuが地球にいたころ

    ぴーびーしー - 東方算程譚 ふむ. むしろ Microsoft の開発現場で,一番 DbC が流行っているのが Visual C++ 関連だと思うのですが.Header Annotations とか SAL Annotations,C/C++ コード障害の検出と修正 等. 最近の Visual C++ のインクルードファイルや Windows SDKs 以下のインクルードファイルを見ていても,事前条件・事後条件の充実っぷりは異常.その規模は既に COM 全盛期の IDL を凌ぎます. あれは手で書いているんでしょうかねぇ? 何か DSL から C/C++ のヘッダファイルを自動生成していてもおかしくない気もしますが,はて. 整数範囲注釈 そういえば Visual C++ 2008 SP1 のコード検証は,Header Annotations の整数範囲注釈を活用していないように見えるので

    Microsoft が提供する C/C++ ヘッダファイルにおける事前条件・事後条件の充実っぷりは異常 - NyaRuRuが地球にいたころ
    Nao_u
    Nao_u 2008/06/23