C/C++でスレッドを扱う場合は、プラットフォームによって使用するライブラリが違います。 Windows なら Windows API の thread で、 UNIX や Linux 系ならば pthread ライブラリ等を使用します。プラットフォーム依存するコードは可搬性に難があり、解決策の1つとしてプリコンパイルで依存部分をプラットフォームに合わせたライブラリを選択してコンパイルする方法があります。 boost ライブラリの boost::thread は、上のような処理をラップして共通のインターフェイスとして実装されています。 boost/thread.hppの一部 #if defined(BOOST_THREAD_PLATFORM_WIN32) #include <boost/thread/win32/thread.hpp> #elif defined(BOOST_THREAD_
Boost.Filesystemにはファイル名やディレクトリ名といったパスを表すためのpathクラスがあります。 パスに対する色々な操作を行うことができます。 初期化 文字列を渡して初期化します。 boost::filesystem::path path("C:\\hom\\hom.txt"); パスの出力 operator<<(std::ostream&, path const&) なんかがオーバーロードされているので、出力はそのまま以下のようにできます。 std::cout << path; 文字列を得たい場合はc_strかstringメンバ関数を使います。 std::string const str = path.string(); boost::filesystem::path::value_type const * const ptr = path.c_str(); path::
(2011/12/26現在のNDKはr7、boostは1.48.0です。また開発環境はWindows機、AndroidAPIレベルは8としています。) C++を使ってでのAndroidのアプリの開発はGoogleの配布しているNative Development Kitを用いることで難なく行うことができますが、含まれているgccのバージョンが4.4.3であるため中々ヒャッハーすることができませんでした。 という訳でCrystaX .NETにて配布されているカスタマイズされたNDKを使い、ついでにboostもビルドして使ってみたのでメモっておきます。NDKについても初心者なので間違ったこと書いている可能性大です>< はじめに NDKでもBoost使いたいってメモなので、CygwinやAndroid SDK、Eclipseなどの環境は既に整えられているものとします。(ちなみに私はEclipse
Boostのインストール boostproからBoostPro Binary Installer for Visual C++をダウンロードして適当な場所にインストール。今回のダウンロードファイルはBoostPro 1.44.0、インストール先はD:\boost VC++2010の設定 VC++2010では、ツールメニュー → オプションからの設定ではなくて各プロジェクトのプロパティから設定するみたい。 適当なソリューションを開く 左のソリューションエクスプローラで適当なプロジェクトを選択 プロジェクトメニュー → プロパティ 構成プロパティ → VC++ディレクトリ 構成で、すべての構成を選択 インクルードディレクトリに、D:\boost\boost_1_44;を追加 ライブラリディレクトリに、D:\boost\boost_1_44\lib;を追加 いちいちプロジェクト単位で設定するのは
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
参考: http://d.hatena.ne.jp/faith_and_brave/20100201/1264997004 「C++0xになると、C++03 でごちゃごちゃした部分がだいぶすっきり書けるようになる」 らしいですが、C++0xを待たなくてもBoostを使えばだいぶすっきり書けるので、 BoostでのC++入門はこんな感じだよー、という気持ちで以下略。 この記事はC言語をある程度理解していることが前提です。 1. Hello World C++/Boostでの出力はC++標準の IOStream ライブラリと Boost.Format を組み合わせて行います。 例として、C言語のprintfを用いた Hello World を、C++/Boostを使って書き直してみます。 #include <stdio.h> int main() { printf( "%s\n", "Hell
Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー
[ C++で開発 ] Boost C++ライブラリ集。この中から次のC++標準化にむけて採用される予定のライブラリ(TR1)が出ています 目次 Boostのインストールとセットアップ Linux CentOS 5 Boostライブラリ コマンドライン引数を解析する(getoptのような目的) 日付・時刻を扱う 参考文献 書籍 和書 Web 日本語 Boostのインストールとセットアップ ソースで配布されています。 Sourceforgeのboostプロジェクトページ Boostは、テンプレートライブラリなので、大半のライブラリはヘッダーファイルのみで利用できます。 Linux CentOS 5 標準で、Boost 1.33.1がインストールされています。Linux標準ディレクトリにインストールされるので、インクルードパス・ライブラリパスの設定は不要です。 最新のBoostバージョンを使用し
山本隆の開発日誌 Kotlin/Swift/Flutter/JavaScript/TypeScript/PHPでWindows/macOS/Android/iOS/Webアプリなどを作ってます C++のboost::filesystemでファイルやディレクトリを操作する方法。 ファイルのコピー #include <boost/filesystem/path.hpp> #include <boost/filesystem/operations.hpp> try { boost::filesystem::path src("C:\\sample\\src.txt"); boost::filesystem::path dst("C:\\sample\\dst.txt"); boost::filesystem::copy_file(src, dst); } catch (std::exceptio
gmane.comp.lib.boost.devel - 【Foreach】 Proposal to simplify using Boost.Foreach with maps こんなことできたんだ! #include <iostream> #include <map> #include <boost/tuple/tuple.hpp> #include <boost/foreach.hpp> int main() { std::map<int, int> m; m[1] = 3; m[2] = 2; m[3] = 1; int key, value; BOOST_FOREACH(boost::tie(key, value), m) std::cout << key << ", " << value << std::endl; } ignore使えばvalueだけほしいとき便利かも。 #i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く