タグ

C++に関するwamanのブックマーク (90)

  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C++)http://blog.unfindable.net/archives/7179

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C++)http://blog.unfindable.net/archives/7179
    waman
    waman 2014/03/17
    いろいろな言語に移植してほしい(既にされてる?)
  • 2014-01-pre-Issaquah mailingのレビュー: N3872-N3879

    N3872: A Primer on Scheduling Fork-Join Parallelism with Work Stealing これは提案ではなく、Fork-Joinにおける実装戦略の入門書的な論文。 Fork-Joinというのは、処理の単位を発生させて、ある地点で、発生させた処理が全て終わるまで待つものだ。Clik風の文法で書くと、以下のようになる。 // Clik風文法によるFork-Join // オリジナルのスレッドが実行開始 e() ; // オリジナルのスレッドが逐次実行 spawn f() ; // 並行して実行される処理を生成 g() ; // fとは並行して実行される sync ; // f, gの処理が両方終わるまで待つ h() ; // 逐次実行 さて、ここで疑問が二つある。 fとgを実行するスレッドは何か? hを実行するスレッドは何か? fとgを実行す

  • Java vs. C/C++ Performance Panel

  • C++: The Good Parts

    Sustainable Security Requirements with the ASVS Josh Grossman provides a brief overview of what the ASVS is, but takes a closer look at balancing trade-offs and prioritizing different security requirements. Josh shares how to make the process repeatable and how to implement it as part of your own organization's requirements process.

    C++: The Good Parts
  • ドワンゴに入社した

    そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日C++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社

    waman
    waman 2014/02/13
  • クロスプラットフォーム開発の大本命!? HTML5もアプリもFlashも開発できる「OpenFL」とは? - ICS MEDIA

    クロスプラットフォーム開発の大命!? HTML5もアプリもFlashも開発できる「OpenFL」とは? 「インタラクティブコンテンツをワンソースでクロスプラットフォームに対応させたい」、それはフロントエンドのデベロッパーであれば誰もが望むことではないでしょうか。一昔前はAdobe Flashが「Open Screen Project」と題して一歩手前まで実現していましたが、iPhoneからFlashを締め出そうとするAppleの強硬な姿勢によって頓挫することになりました。 尾野さん(しっぽさん)からの勧めもあり調べたのですが、「OpenFL」(オープンエフエル)というテクノロジーはさまざまな形式にインタラクティブコンテンツを出力できます。つまりOpenFLを使えばワンソースでクロスプラットフォームを実現できるのです。今回はOpenFLからHTML5とFlashを出力することによってクロス

    クロスプラットフォーム開発の大本命!? HTML5もアプリもFlashも開発できる「OpenFL」とは? - ICS MEDIA
  • 本の虫: Clang VS 自由ソフトウェア

    オープンソースで有名なEric S. Raymondが、自由ソフトウェアで有名なRichard Stallmanに、GCCのアンチプラグインポリシーについて突っ込んでいる。 GCCは、長年、コンパイラーのモジュール化を政治的な理由で行っていなかった。もし、例えばパーサーや意味解析だけを分離して使えるようにしたり、内部表現を規格化したりしてしまうと、GCCの一部が、不自由なソフトウェアに取り込まれたり、あるいは不自由なソフトウェアがGCCのプラグインという形で入り込むことになってしまう。これは、利用者の自由を第一とする自由ソフトウェアにとって、悪夢のような未来である。そのような未来を未然に防ぐために、政治的な理由で、GCCのはプラグインに反対するポリシーを採用している。もし、GCCを改良したければ、自由なソフトウェアとなるべきなのだ。そして、GCCのプロジェクトに参加するべきなのだ。 とはい

  • 本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために

    かつて、ゲームプログラミングはアセンブリが主流で、8bitCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++iPhoneAndroidの両方で動くということもあ

    本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために
    waman
    waman 2013/12/26
  • C++03とC++14の違い: ライブラリ導入編

    京都C++勉強会の宣伝のために、C++03とC++11の違いを、少しづつ解説することにした。 今回は、ライブラリ導入編だ。ライブラリ導入(Library Introduction)とは、C++の標準ライブラリを使うにあたっての約束事を定める章である。たとえば、予約されている名前なども、ここで定められている。 新しい予約された識別子 C++11/14では、新しい標準ライブラリのために、多くの識別子を導入した。既存のC++03のコードで、たまたまその識別子を使っているコードは、名前の衝突を起こす可能性がある。 とはいえ、識別子はほとんどstd名前空間スコープの下にあるし、マクロ名もきぞんのコードと衝突を起こさないように注意深く命名されているので、通常は問題になることはない。 新しいヘッダー C++11/14では、多くの新しいヘッダーが追加された。 C++の新しくつかされたヘッダーは以下の通り。

    waman
    waman 2013/12/16
  • C++言語でiOSアプリ開発。C++ BuilderがWindows、Macに加えiOS対応に。Androidも対応予定。エンバカデロ

    C++言語でiOSアプリ開発。C++ BuilderがWindowsMacに加えiOS対応に。Androidも対応予定。エンバカデロ Windows環境で動作するビジュアル統合開発環境のC++Builderは、これまで1つのソースコードからWindowsアプリケーションとMacOSアプリケーションをビルド可能でした。 そのC++ BuilderのターゲットプラットフォームとしてiOSが加わったことを開発元のエンバカデロ・テクノロジーズが発表しました。同一ソースコードからWindowsMacOS、iOSのアプリケーションが生成可能で、今後Androidにも対応していく予定です。 x86とARM対応のバイナリを生成可能 iOS対応には、ARMプロセッサ対応のバイナリファイルを生成するコンパイラが必要になりますが、C++ Builderにはx86とARMのどちらにも対応するコンパイルアーキテ

    C++言語でiOSアプリ開発。C++ BuilderがWindows、Macに加えiOS対応に。Androidも対応予定。エンバカデロ
    waman
    waman 2013/12/10
  • CとC++の違い: プリプロセッサー編

    京都C++勉強会の宣伝のために、CとC++の違いを、少しづつ解説することにした。 江添とボレロ村上の京都C++勉強会が、12月16日に行われる。これを書いている時点では、まだ空きがあるので、最新のC++14の新機能と、コンパイル時レイトレーシングを勉強したければ、ATNDで参加申し込みをせよ。 江添とボレロ村上の京都C++勉強会 | 集客ならイベントアテンド C++では、__STDC__については規定されていない。 __STDC__は、C言語の実装において定義されるプリプロセッサーマクロである。C++はC言語ではないので、このマクロについてC++の標準規格上、なにか規定することはできない。 そのため、__STDC__は、その値と、定義されるかどうかも含めて、何も規定されていない。C++実装はそれぞれ独自に、このマクロの扱いを決めることになる。 しかし、C++はC言語の拡張として発展したとい

    waman
    waman 2013/12/09
    『Cプリプロセッサーは滅びるべきなのだ。』
  • CとC++の違い: 特別なメンバー関数編

    京都C++勉強会の宣伝のために、CとC++の違いを、少しづつ解説することにした。 江添とボレロ村上の京都C++勉強会が、12月16日に行われる。これを書いている時点では、まだ空きがあるので、最新のC++14の新機能と、コンパイル時レイトレーシングを勉強したければ、ATNDで参加申し込みをせよ。 江添とボレロ村上の京都C++勉強会 | 集客ならイベントアテンド C++では、暗黙に生成されるコピーコンストラクターとコピー代入演算子は、volatileオブジェクトをコピーできない。 struct S { int i ; // C++ // 暗黙のコピーコンストラクター // S( S const & ) ; // 暗黙のコピー代入演算子 // S & operator =( S const & ) ; } ; int main() { volatile struct S s = { 0 } ;

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    waman
    waman 2013/12/03
  • CとC++の違い: Basic Concepts編

    京都C++勉強会の宣伝のために、CとC++の違いを、少しづつ解説することにした。 江添とボレロ村上の京都C++勉強会が、12月16日に行われる。これを書いている時点では、まだ空きがあるので、最新のC++14の新機能と、コンパイル時レイトレーシングを勉強したければ、ATNDで参加申し込みをせよ。 江添とボレロ村上の京都C++勉強会 | 集客ならイベントアテンド C++はCの完全互換ではない。Cのあまり良くない部分は、変更して改良した。ここでは、そのような変更点のうち、互換性に特に問題のあるものを取り上げる。 tentative definitionの有無 C言語には、tentative definitionという機能があった。以下のようなコードが合法になる。 int i ; int i ; // well-formed in C, ill-formed in C++ C++にはOne Def

  • 純粋仮想関数は定義を持てる

    GitHubで公開しているC++参考書に、以下のようなpull requestが送られてきた。 Pure virtual function by daisukekoba · Pull Request #153 · EzoeRyou/cpp-book 純粋virtual関数は、宣言を分ければ、定義も持てるそうだ。実際にまともなC++コンパイラーでコンパイルしてみると、たしかにその通りだ。 どうやら、私の規格の文面の解釈が間違っていたらしい。 C++の規格に曰く、 10.4 paragraph 2 A function declaration cannot provide both a pure-specifier and a definition. ひとつの関数宣言はpure指定子と定義の両方を提供することができない。 これを読むと、以下のコードがエラーになることがわかる。 struct S

    waman
    waman 2013/11/24
    『ああ、まだまだ未熟だ。』
  • C++参考書の販売:C++11の文法と機能

    完成したC++11参考書:C++11の文法と機能の販売をGumroad.comで開始した。 Gumroadで購入:C++11参考書:C++11の文法と機能 直接のGumroadへのURLは:https://gum.co/IwMm 内容はC++11のコア言語の文法と機能を、規格に忠実に解説した自由な参考書だ。すでにGitHubで公開しているものと同一の内容だ。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 の虫: C++11参考書の公開:C++11の文法と機能 価格は、最低5000円以上の任意の額で購入できる。値段に関しては色々とあるだろうと思うが、筆者は、これでも安すぎると思っている。電子書籍に対価を支払う文化を根付かせなければならない。あまりに安すぎると意味がない。あまりに高すぎると払

    waman
    waman 2013/11/10
    『現物、実際に手にとって動かせるもの、閲覧できるものは、たとえ現物の複製物が無料で手に入ったとしても、対価を支払いたいと考えるものらしい。』
  • C++勉強会の構想

    来週、歌舞伎座.tech#2 - connpassでC++14について話す。 話す内容は、C++14に追加されるコア言語の新機能すべてだ。当日に使うスライドはGitHubに上げている。 EzoeRyou/kabukiza-tech2-slide 当日は、発表20分、質疑応答10分という、あまり余裕のない発表となる。全部は発表できないし、その場で説明に時間のかかる質問には答えられないだろう。できれば、発表60分、質疑応答30分ぐらいは欲しいものだ。 これについて考えていたが、自分でもC++勉強会を主催するということを思いついた。もし、赤字にならなければ、勉強会を開催できる。私の住んでいる場所の都合上、開催地は京都になるだろう。人が集まれば開催できそうだ。C++の勉強会は、すでにBoost勉強会などが頻繁に行われている。京都は観光地であり、京都で勉強会が開かれるときは、観光ついでに宿泊して参加

    waman
    waman 2013/11/09
  • C++アプリケーションにOSGi APIを提供するC++ Micro Services

    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...

    C++アプリケーションにOSGi APIを提供するC++ Micro Services
    waman
    waman 2013/11/06
  • 11月14日のドワンゴの勉強会でC++14の新機能を紹介する

    歌舞伎座.tech#2 - connpass 来る2013年11月14日に、ニコニコ動画のドワンゴが勉強会を開く。その勉強会でなにかC++11/14について話してほしいと頼まれたので、私も発表者として参加する。 何でも、開催日の11月14日にちなんで、C++11かC++14について話してほしいと言ってきた。思うに、エピはんも発表するそうだし、C++11については、いまさら私が言うまでもないだろう。すでにC++11の参考書も公開したのだから、いくらでも学べる。 私に発表を頼む以上、当然、最新のC++のコア言語を求めているに決まっている。そこで、11月14日の勉強会では、私は来年に正式に制定される予定のC++14に採用された新機能について話す。具体的には、以下の内容を話す。 二進数リテラル N3472 数値区切り N3499, N3781 実行時サイズ配列 N3639, N3662, N382

    waman
    waman 2013/10/28