The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr
C++0xの概要はこちら ・Angle bracket テンプレートの連続した山カッコの問題の解決 ・初期化子リスト ユーザー定義のクラスで配列のような初期化構文を実装可能になる ・Uniform initialization コンストラクタの構文と初期化子リストの構文が一様になる ・デリゲーティング・コンストラクタ コンストラクタから他のコンストラクタを呼び出せる ・auto 型推論 ・記憶クラス指定子としての auto の削除 autoキーワードの意味が変更になるため、下位互換がなくなる ・decltype sizeofの型版 ・Template Aliases テンプレートを使用して型の別名を付けることができる。いわゆるtemplate typedef ・拡張sizeof 構造体/クラスのメンバをインスタンス化せずにsizeofすることが可能になる ・nullptr ヌルポインタを表
2018-01-09にPocoのv1.8.1が出ていたので、遅ればせながらインストールしてみた。 インストールしたのはMacBook。OSは10.11.6で、Core2 Duo 2.4GHz, 8GB RAMというスペック。 Poco v1.8.1のBasic Edition(Linux,Mac用)を こちらからダウンロードし、圧縮を解凍したpoco-1.8.1を/Developer/に置く。 configureして、makeとmake installでPocoのインストール完了: $ cd /Developer/poco-1.8.1 $ ./configure Configured for Darwin $ make -s $ sudo make -s install /usr/local/lib/ に旧バージョンのライブラリ(libPoco*.51.dylib以外)が残っていたら、それ
C/C++向けのライブラリへのリンク集。 Top/link集/ライブラリ系/C++ link集/開発言語系/C++ 捜し物するなら、下記ページも利用可能。 link集/OpenSource関連#Info Microsoft VisualC++向けで COM(Component Object Model) を利用するなら、下記ページも利用可能。 link集/ライブラリ系#VB *1 link集/ライブラリ系#COM 各種ライセンスについては、下記ページも参照方。 link集/その他#license 関連ドキュメント Document/SourceForge.jp - SourceForge.jpの利用方法 Document/SourceForge.net - SourceForge.netの利用方法 Miscellaneous † 多機能過ぎて分類不能だがね・・・ ↑ OpenSource
Thank you for joining the CMake community! Whether you are still learning how to use CMake, contributing, or just enjoy being part of the conversation, there is is something here for everyone. Here are some ways you can get involved. Reference Documentation CMake Reference Documentation See the online reference documentation as HTML, or download it as QtHelp. Development versions: master, stage (m
C言語において実行時間を測定する為の方法はいくつかある。gettimeofday, clock, getrusage, timesを利用する方法である。ここではこれらの方法について検証してみる。これは2005/12/30時点での情報であり、古い亊が考えられるので注意して頂きたい。さらに、内容のほとんどはmanを移しただけなので、正確な情報を得るためにそれぞれの関数のmanを見ることを強く推奨する。 System: Linux 2.6.12 glibc: glibc 2.3.5-1ubuntu12 gettimeofdayを使用する方法 通常はこの関数を使用するのをお勧めする。 gettimeofdayはSVr4, BSD 4.3準拠である。返り値の型はsys/time.hに定義されるstruct timevalで有る。
(1) SynchronizedSingleton: 完全同期型Singleton 特に説明は不要でしょう。non-PODでstaticなオブジェクトを使用するのは好きじゃありませんが(メンバ変数m)、今回は目を瞑ります。 template<typename T> class SynchronizedSingleton : private boost::noncopyable { public: static T& getInstance(void) { boost::mutex::scoped_lock lk(m); if (!instance) { instance = new T; } return *instance; } private: static T* instance; static boost::mutex m; }; template<typename T> T* S
これまで、Xtalの仮想マシンはバイトコードで動いていました。 マシンがもっとも早く読み書きできるサイズの整数を使うワードコードとどっちにしようか迷ったのですが、メモリの節約とエンディアンの違いを考慮しなくてもいいという理由から、バイトコードで作りました。 しかし、やっぱ速度の方が大切だ!と思い、マクロでバイトコードマシン<->ワードコードマシンを切り替えられるように修正しました。めっちゃ大変でした。 無事、どちらでもちゃんと動くようになり、速度を計測したところ、なんと! 6.8秒で動いてたスクリプトが、6.6秒で動くように!その差3%! ワードコードマシンだめだ… そもそもインスタンス変数へのアクセスが遅すぎるような気がしてきました。 いろいろ調べた結果、VC2005付属のSTLのvector::operatorが遅いんじゃないかという結論に達しました。 vector::operator
OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr
これまでにC/C++ セキュアコーディングセミナーで使用した講義資料を公開しています。2010年度にセミナを実施した、文字列、整数、動的メモリ管理、書式指定文字列、CERT C セキュアコーディングスタンダード、ROSE については、それぞれ最新版の資料を掲載しています。 文字列 ユーザとソフトウエア間に発生するデータのやりとりの大部分は文字列によって行われます。 また、プログラム間でのデータ交換も文字列形式で行われるようになり、その結果、文字列表現や文字列管理、文字列操作における弱点がソフトウエア脆弱性を生み出しています。 文字列では、C/C++ 言語における文字列操作、一般的なセキュリティ上の欠陥と、その結果発生する脆弱性と対処方法について解説します。 C/C++ における文字列の特性 犯しやすい文字列操作の間違い 文字列の脆弱性 プロセスのメモリ構成 スタック破壊の仕組み コードイン
[ C++で開発 ] Automakeでmakeする GNU Automakeを使用すると、簡単な記述でMakefileを生成してくれます。類似ツールにimakeがありますが、imakeは事実上X Window Systemの一部となっており、Xアプリケーション用に調整されているので、非Xな環境やアプリケーション開発に使う際にはやや面倒です。 Automakeの超簡単原理 Automakeは、makeコマンドでビルドするための設定記述ファイルMakefileを、極めて簡単に記述するためのツールです。通常Makefileには、コンパイルする際の諸設定、リンクする際の諸設定、処理順序などを逐一記述しておかなくてはなりません。これは、よっぽどMakefileに慣れていないと苦痛ですし、慣れていても面倒な作業です。そこで、Makefileよりもずっと簡単な設定ファイルMakefile.amだけを記
Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く