タグ

C++に関するWackyのブックマーク (497)

  • Rust より C++ が優れている 12 のポイント - uchan note

    若干釣りタイトルですが,私が「Rust にはない C++ の良さ」を募ったところ,12 個ほどの優れている点が報告されたので,まとめてみます. 背景 私は 2018/10/08 開催予定の技術書典5で,『C++でできる!OS自作入門』と題して,Clang+LLD で C++ を使って OS 開発する際の注意点とか C++ の活用例を解説する同人誌を書こうと思っています. その下調べもかねて,このようなツイートをしました. C++好きな人!ぜひ,RustにはないC++の良さを教えてください!— C++でOS自作 技術書典5 お05 (@uchan_nos) 2018年8月24日 そうしたら知り合いからこんなリプが飛んできました. これ、まとめてblogにして!— shoma (@shoma) 2018年8月24日 一部の人に参考になるかもしれないのでまとめることにしました.ただしネタ多めです

    Rust より C++ が優れている 12 のポイント - uchan note
    Wacky
    Wacky 2018/08/25
  • マイクロソフト、Mac版Microsoft OfficeのソースコードをWindows版のソースコードと一本化実現

    マイクロソフト、MacMicrosoft OfficeのソースコードをWindows版のソースコードと一化実現 20年以上の歴史ではじめて、Microsoft OfficeのWindows版のソースコードとMac版のソースコード、iOS版、Android版のソースコードが一化されたと、マイクロソフトのプリンシパルソフトウェアエンジニアであるErik Schwiebert氏がツイートで報告しました。 Mac Office 2016 version 16 is now live! For the first time in over 20 years, Office is again built out of one codebase for all platforms (Windows, Mac, iOS, Android)!https://t.co/6gNdKTOEHl — Erik

    マイクロソフト、Mac版Microsoft OfficeのソースコードをWindows版のソースコードと一本化実現
    Wacky
    Wacky 2018/01/22
    “一番下にプラットフォームごとに最適化されたレイヤが用意され、これがプラットフォーム間で共通のコードを実現する基盤となっています。”
  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

  • C++11 スマートポインタの話 - ここは匣

    C++にはガーベジコレクタが言語的には存在しないので、動的に確保したオブジェクトのメモリの管理はプログラマが責任を持って管理しなければ、メモリリーク・リソースリークなどの問題を生じてしまいます。 今時のプログラマはこうした問題を引き起こすリスクを減らす為に、記述ミスの起こりやすい生のポインタを使い自力でnewとdeleteを記述する事を避けて、安全なスマートポインタ、即ちオブジェクトの寿命により自動的にメモリ解放を行う便利なポインタを利用するべきです。 しかし、スマートポインタと言っても種類が幾つかあり、落とし穴も存在するのでどういった状況でどれを利用するのが良いのかを考察してみます。 Dynamic memory managementを見てみても C++11から随分増えていますね http://en.cppreference.com/w/cpp/memory std::auto_ptr

    C++11 スマートポインタの話 - ここは匣
    Wacky
    Wacky 2013/03/22
  • Effective C++11(の種) - yohhoyの日記

    Scott Meyers氏によるEffective C++11ネタ集を見つけたのでInitial Thoughts on Effective C++11より抄訳。 2014-03-23追記:記事の内容はBook Report: New Title, New TOC, New Sample Itemにてアップデートされている。(2013-03-25 Effective C++11: Content and Status) 2013-04-18追記:並行/並列関連だけ詳細化された姉妹版→Effective C++11/Concurrency関連の目次草案 明示的な型宣言よりもautoを使おう オブジェクトの生成では () と {} を区別しよう ただしauto + { expr } == std::initializer_listは忘れずに(auto x{1};/auto x={1};ではs

    Effective C++11(の種) - yohhoyの日記
    Wacky
    Wacky 2012/04/18
  • C/C++ に Pyhton  を 組み込み  パート1 ( Embedding Python in C/C++: Part I ) - とある社員のチラシ裏

    オリジナル 下記の内容の記事を翻訳しました。 記事もライセンスがCPOLなので、公開できると考え公開しています。 元記事 : http://www.codeproject.com/KB/cpp/embedpython_1.aspx CPOL : http://www.codeproject.com/info/cpol10.aspx イントロダクション "Embedding Python in Multi-Threaded C/C++ Applications" (Linux Journal)に刺激をうけ、私はPythonの組み込みをもっと広範囲にカバーする必要を感じました。 私は二つの目標を持って、この記事を書いていました。 PythonよりC/C++の経験が豊富なプログラマーに向けて(この記事を)書いて、チュートリアルは具体的なアプローチを提供し、理論的な議論はすべて排除した。 組み込み

    C/C++ に Pyhton  を 組み込み  パート1 ( Embedding Python in C/C++: Part I ) - とある社員のチラシ裏
  • CXXIがクロスプラットフォームでC++/C# interopを実現する(予定) - ものがたり(旧)

    monoチームからCXXIという新しいコンポーネントが登場しました。これはC++とC#のinteroperabilityを実現するフレームワークだそうです。 》 CXXI: Briding the C++ and C# worlds. http://tirania.org/blog/archive/2011/Dec-19.html 以前からcppinteropという名前で作っていたハカーたちがいて、7月のMonospace conferenceでも発表されていたのですが、それがブラッシュアップされて登場したのがコレです。 》 mono / cxxi https://github.com/mono/cxxi 以下、6割方↑記事の内容を引っ張ってきています。 CXXIの機能・特徴 CXXIが実際にサポートする機能は、ざっと次のようなものだそうです(便宜上C#と.NETはまとめてC#と書きます)

    CXXIがクロスプラットフォームでC++/C# interopを実現する(予定) - ものがたり(旧)
    Wacky
    Wacky 2011/12/29
  • CXXI が Mono に新世代の C++ 相互利用を実現する

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    CXXI が Mono に新世代の C++ 相互利用を実現する
    Wacky
    Wacky 2011/12/29
  • Boost の定番機能はこれだ - てっく煮ブログ

    C++, BoostC++ の定番ライブラリ Boost はいまや不動の地位を得ていますが、機能が多岐にわたりすぎていて、何から使い始めていいのか分からずにとっつきにくい印象がありました。Boost 関連の情報を探していて、Boostを使用しているプロジェクト - boostjp というページを見つけました。ここから、boost.org 上の次の3ページ製品情報オープンソースプロジェクト会社にリンクされていす。このページでは、様々な製品やプロジェクトで利用されている Boost のライブラリが紹介されています。せっかくなので、利用数ランキングを集計してみました。ランキング1〜10位早速1位から10位を紹介!!順位コンポーネント名利用数1Boost.SmartPointers241Boost.Bind243Boost.Regex204Boost.Function175Boost.String

    Wacky
    Wacky 2011/10/19
  • PythonコードをC++に変換して高速化をはかる·Shed Skin MOONGIFT

    Shed SkinはPythonのコードをC++に変換するコンパイラ。 Shed SkinはPython製のオープンソース・ソフトウェア。プログラミング言語というのは世の中にたくさん存在する。コンパイルする言語もあれば、スクリプトとして実行されるものもある。どれが好きかはプログラマー次第だが、仕様によって言語の選定がしぼられることも多い。 変換処理 そうした言語間の垣根を越える技術もたくさん登場している。言わばランタイムを実装する系統のやり方だが、もう一つ別な言語に置き換えてしまうものもある。その一つ、PythonC++にしてしまうShed Skinを紹介しよう。 Shed Skinはまだまだ開発中であり実用レベルという訳ではない。だが幾つかのプログラムでは実際に変換ができるようになっている。Pythonでは変数は特定の型を宣言しないため、Shed Skinでは型推論を用いている。また、

    PythonコードをC++に変換して高速化をはかる·Shed Skin MOONGIFT
  • 雑貨's tumblr - C++創造者Bjarne Stroustrupへのインタヴュー

    C++創造者Bjarne Stroustrupへのインタヴュー source: An Interview with C++ Creator Bjarne Stroustrup - CodeGuru C++0x標準化作業がまもなく最終投票段階になるいま、C++の創造者たるBjarne Stroustrup博士とサシでC++0xの新しい機能と将来について語る機会を得た。 DK: Danny Kalev BS: Bjarne Stroustrup Table of Contents 1 Page1  2 Page2  3 Page3  1 Page1 DK C++0xの標準化作業はどのあたりまできていますか?いつぐらいに国際標準となる見込みでしょうか? BS 最終投票は2011/3/26を予定しておる。見たところ不安要素はないな。その後、正式な国際投票や、ISOのお役所仕事で遅れるにせよ、

  • C言語の代表的なウェブリソース10選 - YAMDAS現更新履歴

    Top 10 C Language resources that will turn you into a better programmer - C and C++ Programming Resources 今更 C 言語かと言われそうだが、Linux カーネルだって、我々が利用している LL 言語の多くだってこの言語で書かれているのである。ワタシ自身は未だどの言語よりCを愛している。 以下に C 言語に関してウェブに公開されている代表的なリソースを挙げていく。さすがに更新が長らく止まっているものが多いが、それでも有用な情報源には違いない。ネタ元は Hacker News。 C Programming Notes Programming in C - UNIX System Calls and Subroutines using C. C Lesson by Chris Sawtell

    C言語の代表的なウェブリソース10選 - YAMDAS現更新履歴
  • Handling Drag and Drop of Email Attachments | CodeGuru

    Wacky
    Wacky 2011/02/20
    RegisterFileDrop() および UnRegisterFileDrop()
  • MFCでHTTPS通信: 晶紀の館 第2別館

    Wacky
    Wacky 2011/01/30
  • ポップアップするカレンダーコントロール: 晶紀の館 第2別館

    Wacky
    Wacky 2011/01/30
  • CUDA用メモリクラス(素体): 晶紀の館 第2別館

    CUDAのプログラムは、思い切りシンプルにすると、こんな感じになります。 const int N = 256; float* h_A = (float*)malloc(sizeof(float)*N); float* d_A; cudaMalloc((void**)&d_A, sizeof(float)*N); for (int i = 0; i < N; i++) h_A[i] = i; cudaMemcpy(d_A, h_A, sizeof(float)*N, cudaMemcpyHostToDevice); func<<<1, N>>>(d_A); cudaMemcpy(h_A, d_A, sizeof(float)*N, cudaMemcpyDeviceToHost); free(h_A); cudaFree(d_A); メモリを確保する GPUにデータを送る 計算する GPUから

    CUDA用メモリクラス(素体): 晶紀の館 第2別館
    Wacky
    Wacky 2011/01/30
  • Selene - Selene

    始めに † ここはDirectX9/10用ゲーム向けエンジン"Selene"の開発に関して色々と記述してあるところです。 ↑ 対応ランタイムはこちら/DirectX (March 2008) DirectXのランタイムに関してはそこそこ新しいものを使っていくようにします。 古いものを使うメリットがない事と古いランタイムには入っていない関数を一部で利用している事が理由です。 DirectX9(ShaderModel3.0) ・基機能をすべて実装 DirectX10(ShaderModel4.0) ・基機能+特化したハイエンド機能 DirectX9(ShaderModel2.0以前) ・最低限の描画機能 お勧めツール † ToyStudio メタセコイア等で作ったモデルにアニメーションをつける事が出来ます。 XファイルはもちろんFBXでの出力もサポートされていてフリーでアニメーション

    Wacky
    Wacky 2010/12/26
    主にDirectX9.0c/10.0/11あたりをターゲットにして開発をしているゲームエンジン”Selene”の公式サイトでございます。
  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
    Wacky
    Wacky 2010/12/25
  • Pythonを高速化しよう! - gumi Engineer’s Blog

    はじめまして、gumiの津村です。 現在は解析系の仕事をしたり、ツールを作ったりしています。 今回の話は高速化についてです。 結構長めの文章です。 目次 実行速度の高速化 Python/C API ctypes Pyrex Cython SWIG その他 纏め 実行速度の高速化 高速化といっても色々ありますが、今回は実行速度の高速化についてです。 弊社ではPythonを全面的に採用していますが、そもそもLLは実行速度が遅い言語です。特にC言語のようなコンパイラ系の言語と比べると非常に遅いです。 それでもLL系の言語がここまで使われるようになったのは、開発効率が良いからです。 もはや常識ですね。 しかし、それでも特定の領域ではどうしてもPythonのようなLL系言語では厳しい部分も出てきます。 アルゴリズムを変更しても、ハードウエアを変えても、無理な物は無理です。 速度に問題がある場合の最適

    Pythonを高速化しよう! - gumi Engineer’s Blog
    Wacky
    Wacky 2010/11/19
    Python/C API,ctypes,Pyrex,Cython,SWIG
  • 最強の高校野球データベースを作った男

    神宮球場外野席、もしくは横浜スタジアム内野席でのノマドワーキングに憧れています。普段は「@IT情報マネジメント」という媒体の編集者として粛々と働いています。 いよいよ、今年も全国高校野球選手権大会(夏の甲子園)が始まります。今大会は、エース・島袋洋奨投手を擁して春夏連覇を目指す沖縄代表の興南や、33年ぶりの出場となる神奈川代表の東海大相模など、早くも話題に事欠きません。この夏に1度も負けることなく、栄冠に輝くのは果たしてどの学校なのか。8月7日の開幕から約2週間、手に汗握る熱戦を期待します。 さて、夏の高校野球の主催者である朝日新聞社がインターネット(asahi.com)で速報サービスを行っているのは、高校野球ファンならずともご存じの方は多いのではないでしょうか。 全国各地で大会予選が過熱化した今年7月のアクセスPV(ページビュー)は、平均600万~700万PV/日、ピーク時には2000万

    最強の高校野球データベースを作った男
    Wacky
    Wacky 2010/08/05