タグ

c++に関するgabariのブックマーク (18)

  • Amazon.co.jp: Effective Modern C++ ―C++11/14プログラムを進化させる42項目: Scott Meyers (著), 千住治郎 (翻訳): 本

    Amazon.co.jp: Effective Modern C++ ―C++11/14プログラムを進化させる42項目: Scott Meyers (著), 千住治郎 (翻訳): 本
  • アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ

    子供のころからできるだけ手抜きして成果を挙げることだけは長けている山です。 今回は、C/C++ で作ったプログラムが運用中にクラッシュするときのデバッグ方法のお話しです。 開発中のデバッグは gdb などでソース追いながらデバッグできますが、運用中ですと strip していたり最適化していたりしてデバッグが難しくなります。 そもそも、いきなりクラッシュすると情報が残らずに困ってしまいます。そんなときどうするか。 Step1. スタックトレースを出力する こんな関数を用意しましょう。Linux 以外の人はそれなりに実装してください。 #include <execinfo.h> #include <unistd.h> void dump_stack() { void* bt[100]; int n = backtrace(bt, 100); backtrace_symbols_fd(bt,

    アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ
  • いまさらC言語のexternで悩む – ビットログ

    とある製品のソースコードを眺めていたときに疑問に思って調べたことをメモします。 C言語で通常、大域変数(グローバル変数)を複数のソースファイルで共有する場合、共通でincludeするヘッダファイルにextern int abc;みたいに書いて、ソースファイルのいずれか1つに実体をint abc;みたいに書くと(私は)思っていたのですが、その製品のソースではヘッダファイルの方にint abc;とあり、各ソースファイルにextern int abc;という風に書かれています。 一瞬、それぞれのモジュール(ソースファイル)に別々の実体が存在するのかな、と思ったのですが、実際のその製品の動きを見てみるとちゃんと変数を共有して使っているようです。 私のいままでの理解が間違っているかもしれないので調べようと思ったのですが、C言語の規約を調べるのも億劫だし、環境依存かもしれないので、とりあえずサンプルを

    gabari
    gabari 2012/11/21
    知らなかった…(コメント欄参照)
  • Subversion+TortoiseSVN+SSH memo

    2009年3月28日 Suns & Moon Laboratory はじめに使い方リポジトリのレイアウト例プロジェクト初期手順注意再配置初期配置タグを付ける為にコピーコピー結果やっぱりapp1/trunkじゃなくて、app1/firm/trunkにしたい2階層ほってコピーしてみる2階層ほってコピーは失敗リポジトリの移行とか特定パスの完全削除インストール(Windowsサーバ)ユーザを追加するリポジトリの作成インストール(Windowsクライアント)インストール(Windowsクライアントにxdocdiff)参考Visual C++ 2005 Express EditionVisual C++ 6.0Borland Developer Studio 2006(Delphi Win32)HEW 4workspaceフォルダprojectフォルダdebugフォルダQuartusIIプロジェクト

  • C++の便利ツール・ライブラリ - DO++

    フルタイムで働きはじめて4ヶ月。 いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。まぁ、王道であえて紹介する必要はないかもしいませんが.。valgrindはプログラムのどこかでメモリが漏れているかどうかのチェックに使います.コードのどの部分で確保した領域がどこで漏れているかまで追跡することができます valgrind --leak-check=full command プログラムのどのが計算量的にボトルネックになっているかを調べ

    C++の便利ツール・ライブラリ - DO++
  • C++本16冊すべて届きました - とくにあぶなくないRiSKのブログ

    Amazonで注文していましたがすべてそろいました。 そしたらTwitterで 昨日の分と一緒に写真うP 全部で何十センチになるか気になる! むしろ、全部で何キロあるのかを とか言われたので,写真うpします。 前回の4冊+今回の12冊=16冊!! 全長(?) 39cm!! →70センチぐらいと予想… そこまでいかんかったw 重量 11.5kg!! 満足 もうおなかいっぱいです。当にありがとうございました。

    C++本16冊すべて届きました - とくにあぶなくないRiSKのブログ
  • 本をAmazonで買おうかな - とくにあぶなくないRiSKのブログ

    列挙するので,の良し悪しをコメントしていただけると助かります。 また,持っていていらないという方がいらっしゃいましたら譲っていただきたく。 私の興味のあるキーワードはテンプレート・STL・メタプログラミング・プリプロセッサプログラミング・Boost・関数型プログラミングなど。C++0xにも興味あり。 (大雑把に作ったリストのため,しばらくの間,以下の内容は変更される可能性があります。) 追記: Amazonでぽっちっとしました。あとは届くのを待つのみ。福沢諭吉さんが7名いなくなりました。 買うリスト Accelerated C++―効率的なプログラミングのための新しい定跡 (C++ In Depth Series) Boost C++ Librariesプログラミング C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth

  • C++本積むのがなういやんぐにばかうけらしい - 梶本裕介の日記

    http://d.hatena.ne.jp/RiSK/20090709/1247119159http://d.hatena.ne.jp/faith_and_brave/20090709/1247131630http://d.hatena.ne.jp/bleis-tift/20090709/1247134738流行に敏感なぼく!ついでに最近よく広げてるたち(一番下は除く.さっきの写真に含め忘れたので)俺の数学棚が火をふくぜ!ゲームプログラミング関係は1/3ほど持ち出してるのであまり無かったあと設計のとかアルゴリズムのとか物理のとかいろいろあるけどここで力尽きました

  • C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT

    第2回 C++アプリケーションの効率的なテスト手法(CppUnit編):連載 C++開発者のための単体テスト入門(1/4 ページ) 連載目次 前回は単体テストの重要性を示し、従来のC/C++でのテスト手法であるprintf関数やassertマクロを使ったテストを紹介しました。この2つのテスト手法は開発環境(コンパイラとライブラリ)さえあれば利用でき、その使い方も簡単です。しかしながら、いずれも系統立てて、効率よくテストを行うには力不足の感が否めません。 今回は、Visual C++ 2005 Express Editionを含むVisual Studio 2005(以後、VS 2005)で利用できる代表的な単体テスト・フレームワーク(Unit Test Framework)の1つである「CppUnit」を紹介します。 ■単体テスト・フレームワークとは? 前回、「バグは早期発見が望ましい。早

    C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT
  • g++ でカバレッジを取得する - higepon blog

    最近 Erlang でコードを書くときにカバレッジをとっている。TDD で開発を進めていて make check するとテストが走る。テスト終了後にブラウザでカバレッジが表示されるようにしてある。カバレッジの重要性はCode Completeを読むとよく分かる。カバレッジをとると安心感が違う。書いたコードの不安な部分(不吉なにおいのする場所)を「テストが実際に実行しているか?」を確認できる。その確認により不安から解放され、目の前のコードに集中できるようになる。しかもカバレッジで判明する実行されていない部分にはたいていバグがある。 さて最近 Mona の安定性を上げるべく色々試しているのだが w3m で多くのサイトを訪れたり、Mosh の起動・終了を繰り返すとカーネル内の malloc が NULL を返す現象に悩まされている。最初はメモリリークしているだけだと思っていたがよく調べてみると、

    g++ でカバレッジを取得する - higepon blog
  • 3年後にRubyを勉強し始める人の動機は何になるだろう? - 2009-11-26 - きしだのはてな

    たとえば、JavaだとAndroidGoogle App Engine。あと、期待してるのがGWT。 PythonGoogle App Engineでたくさんの人が触るようになってると思う。 PHPは、なんだかんだでデザイナに近いところの人には欠かせないだろう。Flashも。 Perlはゲノム系の人は使うんだろう。WebのためにPerlの勉強を始める人というのは、今の時点でもいない気がする。 C#はマイクロソフトの続く限り。C/C++はコンピュータの続く限り。 という感じで考えたときに、既存プロジェクトRubyで書かれてるとか会社の方針とか、そういうしがらみがないとき、3年後にRubyの勉強を始める人は、何を動機にしてるだろう? あと、Javaに関して、もしGooglePythonしかサポートしていない会社だったら、ぼくはJavaを今 積極的に触ってない自信がある。

    3年後にRubyを勉強し始める人の動機は何になるだろう? - 2009-11-26 - きしだのはてな
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

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

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

  • 青柳 臣一 ブログ(趣味系) [C++] 細かい手動最適化 (けど、結構効果あるのね)

    Optimize Your Code: Matrix Multiplication より 結果を見て 「へぇ」 と思ったので紹介。 ところで、このブログの方、MicrosoftC++ Shanghai team のデベロッパと書いてあるけど、Shanghai チームって上海のことなのかな?それともそういうコード名のプロジェクトがある? 紹介してるのは n×n の正方行列の積を求めるコード。 Version 1 はごく普通にループ回して結果を求めるコード。 何の工夫もなし。 Version 2 は内側のループで一時変数を使うようにしたちょっとした改良。 最初これを見たとき 「これくらいはオプティマイザが勝手に最適化してくれるんじゃないかな?」 と思ったんですが、してくれないんですね。 ちゃんと解説が書いてあります。 「”result” が “m1” か “m2” の別名になってる (言

    gabari
    gabari 2009/05/01
    最適化テクニック。
  • cppreference.com

    CppCon 2024 It's the annual, week-long gathering for the entire C++ community. Register now!

  • CppUnit 入門 | オブジェクトの広場

    技術講座] CppUnit 入門 CppUnit 入門 株式会社 オージス総研 オブジェクトテクノロジー・ソリューション部 伊藤 喜一 はじめに CppUnitC++ の単体テストを自動化するフレームワークです。XP (eXtreme Programming) の提唱者として知られる Kent Beck と、デザインパターンで有名な Erich Gamma が開発した JUnit (Java) を、Michael Feather が C++ に移植したのが最初です。 私が JUnit や CppUnit (xUnit と総称) の存在を知ったのは Martin Fowler の「リファクタリング」からでしたが、読んですぐにぜひ使ってみたいという衝動に駆られました。私が携わっているのは C++ による組込み系のプロジェクトでしたので、早速 CppUnit をダウンロードしたのですが、

  • 標準 Windows API - WisdomSoft

    サンプルソースは C 言語としてコンパイルしてください。 C++ としてコンパイルした場合、エラーが発生する場合があります ※誤ったプログラムを実行すると、Windowsが不安定になることもあります 重要なシステム上では実験を行わないで下さい この講座は、C言語を熟知していることが前提です

    gabari
    gabari 2008/07/15
  • 1