タグ

C++に関するhtzのブックマーク (18)

  • コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コンパイラの最適化についてすべてのプログラマが知っておくべきこと Hadi Brais コード サンプルのダウンロード 高度なプログラミング言語には、関数、条件付きステートメント、ループなど、驚くほど生産性が上る抽象プログラミング コンストラクトが多数用意されています。ただし、高度なプログラミング言語でコードを作成する場合のデメリットの 1 つは、パフォーマンスが大幅に低下するおそれがあることです。パフォーマンスを犠牲にすることなく、わかりやすく、メンテナンスしやすいコードを作成するのが理想です。このため、コンパイラがコードを自動的に最適化してパフォーマンスの向上を図ります。最近のコンパイラが行う最適化は非常

    コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと
  • C言語/C++ プログラミング 入門

    C 言語は 1972年にUSの有名なベル研究所で Dennis Ritchie らが設計・実装した言語だ。 今となっては低水準な言語だが、充分な機能、簡潔な記法とアセンブラに近いパフォーマンスを持ち、 Unix, Windows, Linux 等の OS をはじめ、コンパイラ、テキストエディタ等のツールや、ビジネスアプリやゲームなど多くの各種アプリケーション開発に用いられてきた。 C++ 言語は 1980年頃、やはりベル研究所の Bjarne Stroustrup が開発したもので、C にオブジェクト指向などの機能を追加したものだ。 C との互換性を維持しつつオブジェクト指向が可能で、パフォーマンスも高かったことから、 1990年頃から、ビジネスアプリやゲームなど多くのアプリケーション開発に使用されるようになった。 C++ は、過去の互換性を維持しつつ最先端のプログラミングパラダイムを多く

  • Visual C++ 2010に追加されたSTLアルゴリズム

    この記事が公開される頃にはVisual Studio 2010のパッケージ販売が始まっているでしょうか。MSDN Subscriptionでは先行提供されていますし、各言語のExpress版が公開されていますから、初物(?)の好きなミナサマは早速遊んでいらっしゃることと思います。 C++屋の僕にとって一番嬉しかったのはVisual C++ 2010(vc10)でC++0xに(完全ではないにせよ)準拠してくれたこと。特にlambda式にはドキドキさせられました。lambda式のサポートにより、より明快でコンパクトな表現が可能になりました。正規表現(regex)や配列(array)、賢いポインタ(shared_ptr/weak_ptr)などなど、サポートが待ち望まれていたクラス群が追加されています。稿ではvc10で新たに追加されたSTLアルゴリズムを一気に紹介します。 以降、プロトタイプと説

    Visual C++ 2010に追加されたSTLアルゴリズム
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • 株式会社きじねこ | 大阪のソフトウェア開発会社

    弊社ウェブサイトにご訪問いただき、ありがとうございます。 株式会社きじねこは、2004年に設立以来、お客様のニッチなご要望にお応えしてまいりました。大手企業では対応できないような小規模な開発や、お客様ご自身によるプログラミングのお手伝いなど、弊社の持ち味を活かした形で世の中に貢献していきたいと考えています。 以下に弊社の主なサービス内容をご紹介いたします。 制御ソフトウェア開発 マイコンのほか、WindowsLinux等を用いた制御ソフトウェアの開発を承ります。 Windows アプリケーション開発 Windowsデスクトップ上で動作するアプリケーションを開発いたします。データの並べ替えを行うだけといった簡単なものから、何画面もあるもの、複雑な計算を行うものまで対応可能です。 プログラミング講習 お客様ご自身でプログラミングを行いたい場合に、そのお手伝いをさせていただきます。新人研修

    株式会社きじねこ | 大阪のソフトウェア開発会社
  • 3.1 配列の要素数を返す. - C/C++ 関数・マクロ集 ((ほぼ?) 処理系・OS 非依存)

    「C/C++ 関数・マクロ集」というタイトルですが, そのうちのいくつかはC専用だったりします.(苦笑) 2007/06/24(日) 追記 高木さんより, Cの規格上移植性に問題がある点をご指摘いただいたので, 現在修正中です. (たくさんあります….orz) とはいってもその多くは, めったにお目にかかれないような珍しい処理系とか, 「そんなの実在するの?」という処理系に移植する場合の話なので, 実用上ほとんどの場合は問題ないと思います. (一部そうとはいえないものもありますが.) Cの規格に照らして完全に「処理系・OS 非依存」 にするのは困難な場合もあり, 完璧な移植性にこだわるあまりプログラムが書けなくなっては末転倒なので, タイトルに「ほぼ?」を入れました.orz 2007/06/21(木) 追記 このページを含め,私が C/C++ 関連記事を書くに当たりたびたび参考に&リンク

  • C-users.jp - 日本のC/C++ユーザのためのハブサイト

    YAPC::Asia 2008でMichael Schwernは「SEOに有効な独自ドメインを取って、もっとPerl初心者が集まりやすいniceなPerlの情報を集めたサイトを作れ!」といったそうです。そして「Perl-users.jp - 日Perlユーザのためのハブサイト」ができました。これはC/C++も同じではないのか。そう思い、c-users.jpドメインを取って、ここにC-users.jpを開始します。平成二十年六月四日 流れに乗っかって、発作的にドメインを取ってサイトだけ立ち上げましたが、当然の如くノープランです。 ポリシー的な物 C及びCの拡張言語(C++C++/CLI、Objective-C、Cg、SystemCなど)の話題について広くキャッチアップしたいと思います。 後継言語(C#、Dなど)については関与しません。 Win32 APIやDirectXなどの話題があっ

    htz
    htz 2009/02/06
    [C/C++][*-users.jp][language][dev][programming][programming]
  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

  • 変電工 - Google C++スタイルガイド日本語訳

  • perlguts - Perl's Internal Functions Perlの内部関数

    NAME DESCRIPTION Variables Datatypes What is an "IV"? Working with SVs What's Really Stored in an SV? Working with AVs Working with HVs Hash API Extensions References Blessed References and Class Objects Creating New Variables Reference Counts and Mortality Stashes and Globs Double-Typed SVs Magic Variables Assigning Magic Magic Virtual Tables Finding Magic Understanding the Magic of Tied Hashes a

  • 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

  • 私的 XS メモ - IT戦記

    参考にしたサイト集 perlxs - perldoc.perl.org perlxstut - perldoc.perl.org perlguts - perldoc.perl.org perlapi - perldoc.perl.org http://d.hatena.ne.jp/tokuhirom/20081209/1228829454 Perl XS メモ - typemap と MAGIC をからめて - daily dayflower http://pub.ne.jp/wakapon/?entry_id=1109553 http://pub.ne.jp/wakapon/?entry_id=1109664 準備 $ h2xs -A -n MyXSS Makefile.PL CC => 'g++', 型 SV スカラー AV 配列 HV ハッシュ CV コード GV グロブ RV リ

    私的 XS メモ - IT戦記
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • printf みたいな関数を作る

    たとえば C++ で、独自の文字列クラスを作ったりして、書式付文字列を取り扱う Format 関数を作成したいとします。 これを実装するために、全てを自力で行おうとすると非常に困難なのがなんとなく想像できます。しかも独自の書式になってしまうと使うときに何かと戸惑ってしまいそう…。 その他にも、書式付テキストの場合、とりうる引数の数が状況によって違うはずです。 このような関数を作るというのはあまり馴染みがないことなので難しそうですが、標準の printf では実現しているので、自分でもそういった関数が書けるはず…。 そんなことで、標準の printf のような書式機能は使えないのかという感じで調べてみました。

  • Boost C++ Libraries

    Boost C++ Libraries ...one of the most highly regarded and expertly designed C++ library projects in the world. — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards Welcome to Boost.org! Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a br

    Boost C++ Libraries
  • long long ‐ 通信用語の基礎知識

    ISO/IEC 9899:1999(いわゆるC99、日語規格はJIS X 3010:2003)で採用された、Cの変数型の一つ。long intよりも更にlongな整数を宣言する。 C++ではISO/IEC 14882:2011(C++11)で仕様化されたが、それ以前から一部の実装(GCCやMicrosoft C++など)で対応していた。 正式にはlong long intと書いて長い長いintを表わす。但しlongの後のintは省略可能であり、long longとだけ記述した場合はlong long intであるとして処理される。 GCCでは、符号付きで、概ね64ビット以上の処理系依存のサイズを持つ。 但し、言語仕様上はビット長は保証されておらず、次のように扱われる。 char ≦ short ≦ int ≦ long ≦ long long 一般的な実装では、データ型モデルに応じて、次

  • main() の前に関数を呼ぶ - bkブログ

    main() の前に関数を呼ぶ C/C++ のプログラムで、main() の前に関数を暗黙的に呼びたいときがあります。ここでは GCC の拡張を使った方法と、C++ のコンストラクタを使った方法を紹介したいと思います。 GCC では main() の前に呼ばれる関数を __attribute__((constructor)) という拡張機能を使って定義できます。たとえば、次のプログラムでは main() の前に foo() が呼び出されます。 #include <stdio.h> __attribute__((constructor)) void foo() { printf("hello, before main\n"); } int main (int argc, char **argv) { printf("hello, world\n"); return 0; } 実行結果は以下の

    htz
    htz 2008/04/09
    main関数が呼ばれる前に、別の関数を呼び出す
  • regex.hの使い方

    Cの言語仕様そのものには正規表現は含まれていないので、C言語で正規表現を扱うには何らかのライブラリを利用する必要があります。ここでは、POSIX準拠のregex.hを利用して正規表現の処理を行います。 UNIXライクなOSなど、POSIX準拠のシステムであれば使用できるはずです。このページのサンプルなどはLinux上のgcc-2.96でテストを行っています。 使用方法 regex.hでの正規表現の基的な使用方法を簡単に述べると、次のようになります。 regcomp()で正規表現をコンパイル regexec()で実行 regfree()でコンパイルした正規表現を解放 多少面倒なように見えますが、正規表現ライブラリとしてはごく一般的な手順です。正規表現による検索処理の前に正規表現の文字列をコンパイルし、検索処理を行った後に処理に使ったバッファを解放する必要があります。 ということで、関数をひ

  • 1