タグ

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

タグの絞り込みを解除

c++とlinuxに関するcubicdaiyaのブックマーク (4)

  • 32bit/64bit 両対応な printf の書き方 - pyopyopyo - Linuxとかプログラミングの覚え書き -

    32bit/64bit両対応のコードを書いていると,よく printf() で引っかかります."%d"のような"書式"がややこしいからです. というわけで,変数の"型"と"書式"の対応を,表で整理してみました. 型 書式 注意事項 ssize_t %zd size_t %zu intmax_t %jd uintmax_t %ju ptrdiff_t %t signed char %hhd unsigned char %hhu short int %hd unsigned short int %hu int %d unsigned int %u long int %ld unsigned long int %lu long long int %lld unsigned long long int %llu int32_t %PRId32 以下,#include が必要(下記参照) uint3

    32bit/64bit 両対応な printf の書き方 - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • 動的共有ライブラリのバージョン管理 - torutkのブログ

    d:id:torutk:20081103でBoostライブラリのSONAMEについて調べていました。今回は、自分で作成するプログラムにおいて、動的共有ライブラリファイルのSONAMEの仕組みを使ってバージョン管理をする方法を模索しました。 やりたいこと C++のプログラムを動的共有ライブラリで作成・提供する際、ライブラリのバージョンアップにおいて、ソース互換性、バイナリ互換性の有無をバージョン番号で区別したい。 また、バイナリ互換性を失うバージョンアップの際は、誤って新しいバージョンのライブラリと古いライブラリ利用コードとを実行時にリンクできないようにしたい。 バージョン番号の付け方 バージョンアップには以下の種類があります。 ソース互換性も失う大きなバージョンアップ ソース互換性はあるがバイナリ互換性を失うバージョンアップ ソース互換性もバイナリ互換性もあるバージョンアップ Linux

    動的共有ライブラリのバージョン管理 - torutkのブログ
  • STLSupport - GDB Wiki

    gd## page was renamed from STL Support STL Support Tools When you try to use GDB's "print" command to display the contents of a vector, a stack, or any other GDB abstract data structure, you will get useless results. Instead, download and install one of following tools to properly view the contents of STL containers from within GDB. GDB 7.0 will include support for writing pretty-printers in Pytho

  • 革命の日々! mtraceの使い方

    何回調べても忘れてしまうシリーズ 今回はmtraceの使い方。 mtraceというのはmallocやfreeなどのメモリ管理系の関数をHookして、メモリリークを追跡してくれる便利なライブラリ関数です。 glibc付属なので特殊なソフトのインストールが必要ないのが利点。 使い方の注意点と手は Electric Fence などのmallocを乗っ取るライブラリと共用できないこと(アタリマエだ) malloc/freeのたびにファイルに書くので結構なオーバーヘッドを伴うこと。 スレッドセーフじゃないこと(これはmallocのhookの仕組みがタコいんです) mtrace()関数を呼び出すとトレースを開始する。というセマンティクスなのでシェルなどからイマイチ使いづらい所も欠点と言える。 まあ、実例を見てください。 まず、こういうファイルを用意 mtrace_on.c ---- #include

  • 1