タグ

C++に関するasipのブックマーク (47)

  • qrintfの最適化 - 開発日記

    H2Oの内部では,数値,文字列のフォーマッタとしてsprintfが用いられています. 我々は,最近までsprintf専用ソースコード変換器, qrintfのチューニングを行っていました. 稿ではqrintfの概要と今回適応した工夫,そして今後の課題についてまとめておきます. 1. qrintfとは? qrintfとはCコンパイラの1つであるgccのプリプロセッサのラッパーであり,snprintfを高速化するソースコード変換器です. 稿執筆時点でのqrintfの変換対象はsprintfとsnprintfです.以下文中では特にことわりのない限りsprintfと記述した場合sprintf, snprintfの両方を指します. qrintfはソースコードに出現するsprintfで利用するフォーマット文字列を解析し,型ごとに用意された関数呼出にコードを書き換えsprintfの高速化を行います.

    qrintfの最適化 - 開発日記
    asip
    asip 2014/12/24
  • trickpalace.net

    This domain may be for sale!

    asip
    asip 2011/05/28
  • C++ でプロパティ: 雲の亀日記

    雲は、C++ は結構昔から知っている(使いこなせているかどうかは。。。)のだけど、C# を知ってからプロパティが無いことに結構不満でした。 でも、たまたま、今日、C++でプロパティを使う方法を発見してびっくりしました。C++ の標準規格のみを使ってプロパティを実現する方法。 C++ implementation of the C# Property and Indexer with Accessor-Modifiers http://www.codeproject.com/KB/cpp/cpp_property_indexer.aspx ついでに、Microsoft の独自拡張を用いてC++でプロパティを実現する方法。 __declspec(property) http://docwiki.embarcadero.com/RADStudio/ja/Declspec(property) 雲は

    asip
    asip 2011/05/02
  • C++0x 標準ライブラリ完全解説 まとめ - 野良C++erの雑記帳

    No.00 Introduction (2011-01-07 更新) No.01 namespace rel_ops, utility (2011-01-07 更新) No.02 std::move, utiliy (2011-01-16 更新) No.03 std::move_if_noexcept, utiliy (2011-01-17 更新) No.04 std::swap, utiliy (次回予定)

    C++0x 標準ライブラリ完全解説 まとめ - 野良C++erの雑記帳
    asip
    asip 2011/03/25
  • 開発メモ: 50行のC++コードでWebサーバを実装する

    「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&

    asip
    asip 2010/09/19
  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
    asip
    asip 2010/08/02
  • 「C++のクラス作ったら、絶対にデストラクタをvirtual宣言しなさい」に対するエキスパートの意見

    仮に「C++のクラス作ったら、絶対にデストラクタをvirtual宣言しなさい」という指示があった場合に、自分では反論できないことを知ったので後学のために質問しました。 エキスパートの皆様からの、珠玉の回答集です。

    「C++のクラス作ったら、絶対にデストラクタをvirtual宣言しなさい」に対するエキスパートの意見
    asip
    asip 2010/07/29
  • C++の話(本当にあった怖い話)

    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++の話(本当にあった怖い話)
    asip
    asip 2010/07/16
  • Qt SDK 1.0登場、モバイル開発をはじめるのに適したバージョン | エンタープライズ | マイコミジャーナル

    Qt - A cross-platform application and UI framework 23日(ノルウェー時間)、Qt SDKの最新版となるNokia Qt SDK 1.0が公開された。Nokia Qt SDKからダウンロード可能。Windows 7、Windows Vista、Windows XP SP2以降の32ビット/64ビット向けおよびUbuntu Linux 7.04以降の32ビット/64ビット向けが提供されている。Mac OS X Snow Leopard向けのバージョンはまだベータにとどまっている。 Nokia Qt SDK 1.0に含まれているコンポーネントは次のとおり。 Qt Creator 2.0 Qt Simulator 1.0 Qt Mobilityライブラリ MADDEの現行バージョン Symbianパッケージ Symbian向けスマートインストーラ

  • Nokia、スマートフォンアプリ開発促進に向けた「Nokia Qt SDK」のRC版公開 | エンタープライズ | マイコミジャーナル

    フィンランドNokiaは6月9日、自社携帯電話向けのアプリケーション開発キット「Nokia Qt SDK 1.0」のリリース候補(RC)版を公開した。クロスプラットフォームのUI/アプリケーション開発フレームワーク「Qt」を中心とした開発キットで、「Symbian」や「MeeGo」などのプラットフォームで動くアプリケーションを開発できる。 Nokia Qt SDKは、Qtを中心にアプリ開発に必要なツールやAPIをまとめたもの。Qtは最新版(「Qt 4.7」)ではなく、バージョン4.6.3を搭載、統合開発環境の「Qt Creator 2.0」を含む。 RC版は先に公開されたベータ版からのバグ修正が中心だが、シュミレーターをはじめ、全てのコンポーネントがGitorious上で公開された。このほか、インストーラーが強化され、テスト版のリモートコンパイラ機能も追加されている。 Nokia Qt S

    asip
    asip 2010/06/15
  • 【レポート】Run Anywhereなアプリケーションフレームワーク"Qt"の現在・過去・未来 | エンタープライズ | マイコミジャーナル

    知らないうちにあなたも使っているQt 現在、Qtの開発者は25万人ほどとみられている。草創期からLinuxやFreeBSDを使っているユーザや開発者にはKDEで採用されたマルチプラットフォーム対応のC++ツールキットとして知られている。メーカ関連で組み込み系や産業機械系の開発者であれば主要な開発環境として付き合うことが多いだろうし、携帯向けのネイティブアプリケーション開発者にも主要な開発環境のひとつとして知られている。 NokiaがIntelと一緒に開発したモバイルLinuxプラットフォーム「MeeGo」(現在はLinuxファウンデーションに移管)もアプリケーションフレームワークにQtを採用している PCユーザやPCデベロッパはQtについてはそれほど馴染みがないかもしれない。しかし、日で販売されているデバイスや産業機器のさまざまなものにQtが使われている。「知らないうちに使っている」とい

    asip
    asip 2010/06/09
  • GCC開発におけるC++の利用が承認される | スラド デベロッパー

    GNU Compiler Collection(GCC)メーリングリストへの投稿によると、GCC開発におけるC++の利用をGCC Steering CommitteeおよびFree Software Foundationが承認したとのこと(家記事、SourceForge.JP Magazine記事)。 GCCはCで書かれているが、今回の決定により今後はC++での開発が可能になる。現時点ではどのサブセットを利用するかは未定とのこと。 この件をメーリングリストに投稿したCodeSourceryのMark Mitchell氏によると、C++の採用はより良いコンパイラを作るためとのことで、C++の利用それ自体が目的ではないという。同氏はC++に精通していない開発者を考慮し、当初は利用できるC++の機能を「Cプログラマーに理解し易く、かつC++初心者が間違い難い」ものに制限したほうが良いと提言して

    asip
    asip 2010/06/02
  • 「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう

    http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに

    「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう
    asip
    asip 2010/06/02
  • https://moriyoshi.hatenablog.com/entry/20100428/1272452495

    asip
    asip 2010/04/29
  • Open Tech Press | Libxml2 を使う

    XML はあらゆる分野における基礎技術となって利用が進みつつあるが、GNOME 環境においても例外ではない。GNOME 2 においては Libxml2 が XML を扱うための基ライブラリとして採用され、あらゆる局面で活用されている。稿ではこの Libxml2 を使った簡単なプログラミング例を紹介しよう。 GNOME と XML GNOME の多くのアプリケーションは設定に関する情報を GConf というフレームワークを利用して保存しているが、この GConf は標準では XML 形式のテキストファイルを利用して情報を保存している。GNOME を利用しているなら、ホームディレクトリにある ~/.gconf/ というディレクトリの中を覗いてみよう。そこの中には %gconf.xml というファイルがいくつも存在しているが、これが GConf によって書き出されたユーザ固有の設定情報である

    Open Tech Press | Libxml2 を使う
    asip
    asip 2010/04/22
  • GCC 4.5.0/4.4.0/4.3.0性能比較 | エンタープライズ | マイコミジャーナル

    Phoronix Media is the largest Internet media company devoted to enriching the Linux hardware experience and catering its content to Linux gamers and computer enthusiasts. Phoronixが早速登場したばかりのGCC 4.5.0に関するベンチマークを実施して発表した。比較に使われたコンパイラは1年前のバージョンとなるGCC 4.4.0およびGCC 4.3.0。[Phoronix] Benchmarks Of GCC 4.5.0 Compiler Performanceにベンチマーク結果がまとめられている。計測に使われたプラットフォームおよびベンチマーク項目は次のとおり。 ベンチマークプラットフォーム GCC GCC 4.3

    asip
    asip 2010/04/21
  • セサミンはゴマから取れる希少成分

    このドメインの購入をご希望の方は下記のメールアドレスよりご連絡ください。 If you are interested in purchasing this domain, please contact us using the email address below. dom@lllmail.com

  • 並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同

    並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi
    asip
    asip 2010/04/13
  • URI Template の C++ 実装 (Xbyak による JIT 版ほか) (nakatani @ cybozu labs)

    その昔はテキスト整形ツールすらアセンブラで書くほどのバイナリアンでもあったんですが、X68000 から卒業せざるをえなくなると同時にすっかり足を洗っていたのです。 が、何の因果かこのたび、C++の世界に引き摺り込まれ、メモリやクロック数にきゅうきゅう呻吟する日々が再びやってきてしまいました……。もはやGCの無い言語でプログラミングするまい、と堅く心に誓っていたのになあ(涙)。 まあ、嘆いてばかりいても始まらない。 バイナリアンは××年ぶり(x86 の知識は 286 が最後)、C++ は実質初めて、勉強しないといけないことがたんまり。 んー中谷は何か作ってみないとわかんない人なんで、身近で手頃な題材を…… というわけで URI Template を実装してみました。調べた範囲内ではC++の実装もなさそうだし。 勉強が主目的なので、仕様は簡易に draft-01 準拠(単純な substitu

    asip
    asip 2010/04/03
  • C++11 - Wikipedia

    この記事は更新が必要とされています。 この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。(2019年1月) C++11は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2011 の略称である。規格の策定中は2009年中の標準化を目指していたため、C++0x という仮称で呼ばれていた。 ISO/IEC 14882:2003 (C++03) に代わるものとして、2011年8月12日にISOによって承認された[4]。後継のC++14が2014年8月18日に承認されている。 コア言語への機能追加や標準C++ライブラリの拡張を施し、C++TR1ライブラリの大部分を(数学的特殊関数ライブラリを除いて)取り込んでいる。 C++ への修正はコア言語と標準ライブラリの双方に及ぶ。 委員会は、新規格の個別の要素の

    asip
    asip 2010/04/03