タグ

C++に関するkujooのブックマーク (60)

  • C++ゆとり用 - 藻ログ

    世の中にはわたしのようなライトC++書き向けの資料が不足しているので, 普段使い*1用途で収集したものをまとめてみました. ドキュメントを読む C++プログラミングガイド モダン C++ プログラミング - 日語公開記事 - サイボウズエンジニアのWIKI STLのドキュメント cplusplus.com - The C++ Resources Network C++ reference - cppreference.com clangを使う Clang - Wikipedia gccよりもclangの方がC++ 規格に準拠しているとうたわれています. また, コンパイルもちょっと速い. *2 標準ライブラリを使う ∧∧∧∧∧∧∧∧∧ < STL!STL!STL!STL! > ∨∨∨∨∨∨∨∨∨ _     _ `/っ)    /っ) / / ∧_∧ / / ∧_∧ \\(   )\\(

    C++ゆとり用 - 藻ログ
    kujoo
    kujoo 2014/09/25
    C++こわい
  • goto fail; をコンパイル時に検出する - pepshisoの日記

    語の記事が見当たらないので書きます。iOS のSSLのバグは、コンパイル時に検出できます。警告オプション -Wunreachable-code をつけて clang でコンパイルすれば良いだけです。 バグの原因 このバグの原因は、意図しない場所に goto 文が書かれていたため、重要な処理をスキップしてしまうというものです。 こちらのブログ記事で紹介されてますが、単純化すると以下のようになります。 error_code important_function() { error_code err; // ... if (err = some_function(...)) goto fail; if (err = some_function2(...)) goto fail; goto fail; // (A) // 重要な処理 (B) // ... fail: // 後始末 // ...

    goto fail; をコンパイル時に検出する - pepshisoの日記
  • 本の虫: GNU/LinuxのC++11でプログラミングの常識がひっくりかえった

    C++11のコア言語を詳細に解説するを書いている。ライブラリについては書の範疇ではないし、どちらかと言えばコア言語の方が好きなのだが、ライブラリの解説だってやってやれないことはない。せっかくなのでC++11の範囲で非同期処理について書くことにしよう。 例えばあるファイルを全部メモリ上に読み込むような処理を考えよう。ファイルの読み込みは時間がかかる。残念ながら、まだmmapのようなmemory mapped fileは標準ライブラリにないし(あったとしてもこの問題には不適だし)、非同期I/Oもない。そのため、ファイルの読み込みは別のスレッドで行い、結果を元のスレッドに返したい。 これは非常に難しい問題である。別のスレッドを作ってその終了を待たなければならないどころか、その別のスレッドから何とかしてデータのやり取りをしなければならないのだ。それだけではなく、ファイルを読み込むという処理も書

    kujoo
    kujoo 2013/04/04
  • Download Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype から Teams への移行 OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ エンタメ Xbox Game Pass Ultimate Xbox とゲーム PC ゲーム 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform Windows 365 開発者 & IT Microsoft 開発

  • C言語のポインタはメモリを想像できれば理解できる | 100% Pure NEET

    最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ

    kujoo
    kujoo 2012/11/19
  • Microsoft、「Visual C++ Compiler」新版のプレビューリリース

    Microsoft、「Visual C++ Compiler」新版のプレビューリリース:C++11機能を実装 米Microsoftは11月2日、C++11機能を新たに実装したVisual C++コンパイラのプレビュー版「Visual C++ Compiler November 2012 CTP(Community Tech Preview)」をリリースした。 米Microsoftは11月2日、ISO標準のC++11機能を新たに実装したVisual C++コンパイラのプレビュー版となる「Visual C++ Compiler November 2012 CTP(Community Tech Preview)」をリリースした。 Visual C++チームブログによると、November 2012 CTPではVisual Studio 2012開発環境で現在サポートされている機能に加え、可変個引

    Microsoft、「Visual C++ Compiler」新版のプレビューリリース
    kujoo
    kujoo 2012/11/06
  • 【イベントレポート】 【AFDSレポート】 MicrosoftがGPGPU開発向けC++の拡張「C++ AMP」を発表

    kujoo
    kujoo 2011/06/17
    NVIDIAものってくるんだ。ならある程度は期待できるのかな
  • Baba Centerfolds

    WHAT'S NEW 2003/02/11BASP21 2,3,2,11バージョン Update! 久々、フリー版BASP21更新。ダウンロードは、こちらをどうぞ。 花粉が飛ぶ前にぎりぎりセーフ(笑)。 今回の目玉は FlushMailメソッド。 メール一括送信2003/02/11 New! BASP21の 更新履歴はこちら Response Center2007/03/01 現在停止中。 わからないことに親切にお答えするレスポンスセンター。 ソフトの質問や情報のポストなど自由に使ってください。 babaqソフト,Visual C++, ASP, CGI, Perl, 伊南村に関することなんでもOK。 (2003/02/11 20:00)Update! ASPデベロッパ感涙。メール送受信、ファイルのアップロードや正規表現をサポートしたコンポーネント。 VBScript やVisual Ba

    kujoo
    kujoo 2011/03/21
  • Windows デベロッパー センター: Windows XP から Windows 7 アプリ移行 実践ガイド

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Windows デベロッパー センター: Windows XP から Windows 7 アプリ移行 実践ガイド
    kujoo
    kujoo 2011/03/10
    これはいい。 / 64Winだとprogはバイナリのbit数で切り替わるのかな? 時間があったら後で試してみよ。(まあ、Windowsのアプリ書くことももうないかw
  • 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の雑記帳
    kujoo
    kujoo 2011/01/08
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • #include の魔力 - Cube Lilac

    何気なく呟いた言葉が確変状態になっていました。 それで、反応を眺めていると「何をやってるか分からない」と言うものがいくつかあったので、一応簡単な補足説明を載せておきます。 #include は指定したファイルの内容をその位置に追加します。 1, 2, 3, 4, 5, 6, 7, 8, 9,例えば、上記の内容を hoge.csv と言う名前で保存して、 int hoge[] = { #include "hoge.csv" }; と記述すると、(プリプロセスが終了すると)以下のように記述した事と同じになります*1。 int hoge[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, }; このように、#include を利用することによって、内容が変化しない*2データ配列などの定義を自力で打ち込んだりコピペしたりせずに済むようになります(なることがあります)。s/int/co

    #include の魔力 - Cube Lilac
  • 鬼車

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記

    えー、久しぶりにですます調です。日の第2回PHP拡張勉強会でグダグダながらもちょこっと発表させていただいた、あのライブラリについての紹介です。 ダウンロードは以下からできます。 http://www.voltex.jp/downloads/mozo-php-20080324.tar.bz2 最新版はこちら >> http://voltex.jp/downloads/mozo-php-20080405.tar.bz2 2009-08-10 追記: 現在は Boost.PHP という名前で以下の場所で開発中です。 http://github.com/moriyoshi/boost.php なぜMozo.PHPを作ったのか Boost.Python という、Boost Project の一部である変態ライブラリがあるのですが、これは Python の拡張をおおよそ C++ とは思えないような書

    Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記
    kujoo
    kujoo 2010/02/03
  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

    kujoo
    kujoo 2010/02/03
  • C++ におけるコードレビューの重要性と活用 - NyaRuRuが地球にいたころ

    そのような場合 C++ では、この関数 g の仮引数 obj に対して const 修飾を行うことで「私 g は obj の参照先の値に対して破壊的な操作を行いませんよ」という宣言を関数 g にさせることができます。 void g(const LargeObj& obj){ ... } void f(){ LargeObj tmp; g(tmp); // tmp に対する変更はない ..... // tmp に対する何らかの処理(安心です!) } やりましたね! C++ のコードにこの種のコメントを残すのは,コードレビュアーの仕事を増やすお手軽な方法のひとつです. 悪性の const_cast や mutable が問題なのではありません.同僚が悪性の const_cast や mutable をコードに紛れ込ませるようであれば,それは採用プロセスの問題です. より現実的な問題は,cons

    C++ におけるコードレビューの重要性と活用 - NyaRuRuが地球にいたころ
  • OpenMPの基礎構文

    はじめに 昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。この流れはもう変わらないでしょう。ですから、我々開発者にとって並列処理の知識は絶対に必要なものです。とはいえ、日々の業務をこなしつつ資料が少ない並列化処理を身につけることは大変です。 そこで今回筆者は、並列化処理を実現するOpenMPの入門記事を書くことにしました。OpenMPを選択した理由は、一番効率が求められているのはC/C++プログラマーだと考えたからです。C/C++プログラマーの方々が並列処理を習得するお手伝いができれば幸いです。 なお、この連載で解説に使用するサンプルコードはあくまでもOpenMPの基礎を理解するための便宜的なものであり、実務でOpenMPを使用する際にはよく理解してから用途に適したプログラミングを行ってください。 対象読者 筆者が想定している読者はCの基的文法をマスターし、

    OpenMPの基礎構文
    kujoo
    kujoo 2010/01/06
  • 最新Cコンパイラーの最適化事情 - Radium Software

    State of the art C compiler optimization tricks, Felix von Leitner, Linux Kongress 2009. 最近のCコンパイラーの最適化能力についてまとめたプレゼンテーション。定数の扱いやインライン展開などの基的な項目から始まって,分岐の削除やベクトル化, SIMD 化など,最新のコンパイラーに搭載されている様々な機能について調べている。 この手の分岐の削除はほとんどのコンパイラーで有効らしい。 ベクトル化については gcc がだいぶ頑張っている印象。 「gcc は全プラットフォームにおいてビデオコーデックプログラマーより賢い」 これらの最適化が実際のコードでどのように機能するか気になって逆アセンブリコードを覗いてみる人も少なくないと思うけれど,それを代わりにやってくれた感じだ。この手の話題に興味がある人ならば,目を通

    最新Cコンパイラーの最適化事情 - Radium Software
    kujoo
    kujoo 2009/12/27
  • hirax.net::続 エクセルの計算ワークシートをRubyでC言語に変換してみよう

    最新記事(inside out)へ  | 年と月を指定して記事を読む(クリック!) / 2001/ 2002/ 2003/ 2004/ 2005/ 2006/ 2007/ 2008/ 2009/ 2010/ 2011/ 2012/ 2013/ 2014/ 2015/ 2016/ 2017/ 2018/ 2019/ 2020/ 2009年11月 を読む << 2009年12月 を読む >> 2010年1月 を読む 前回、「エクセルの計算ワークシートをRubyでC言語に変換してみよう」でサンプルに作ったエクセルのシートが反復収束計算をする必要がない(自己参照型のシートになっていなかったこと)に気づいたので、今日はエクセル・シートを作り直し、サーバ内に置いておきましたここに置いておきます。置いたエクセル・ファイル"ex2.xls"は、5×5のセルの周囲と中央のセルが固定条件で、それ以外の(5×5

    kujoo
    kujoo 2009/12/19
  • 別スレッドでリソースを解放することのあれそれ - NyaRuRuが地球にいたころ

    Boost.SmartPtr:shared_ptr + weak_ptr(Cryolite) の 24 分目あたり. shared_ptr<void> による遅延解放 vector<shared_ptr<void *> > to_be_disposed; shared_ptr<HeavyToDispose1> px(…); shared_ptr<HeavyToDispose2> py(…); … // ここで削除して処理が止まると困る… to_be_disposed.push_back(px); px.reset(); to_be_disposed.push_back(py); py.reset(); … // 適当なタイミング or 別スレッドで // to_be_disposed.clear() を実行 の部分に関して, 別のスレッドでのリソース解放は,スレッド親和性をもつリソースを破