Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

「C++」に関する記事

214件中1~20件を表示
  • 2017/02/02

    スレッド間のデータ共有に使える「Microsoft PPLの並列コンテナ」

     C++11で、<thread>、<future>、<mutex>などで定義されたスレッド・ライブラリが標準化されました。おかげで従来OSごとに異なるAPI(Linuxならpthread、WindowsならWinAPI)で実装してたスレッド周りが1つのコードで済むようになりました。しかしながら標準化されたのはスレッド絡みの基本的なものに限られていて、アプリケーション実装にはまだ足りないものが少なくありません。その一つがスレッド間のデータの共有(受け渡し)に使え...

  • 2016/12/01

    ページランクのアルゴリズムをC++で試してみる

     前回Google Mockを紹介したこともあって、Googleがらみのトピックを探していたところ、"How Google Finds Your Needle in the Web's Haystack:GoogleはどうやってWebの干草の山から針を見つけ出すのか"というタイトルの解説記事に辿り着きました。Googleでの検索結果は有用な(あるいは人気のある)ページが検索リストの上位に並びます(広告云々は別として)。各ページの有用さの度合いを計算し、それをキーに並び替えを行っているのでしょう。...

  • 2016/08/03

    「入れ替えを行わないソート」のおはなし

     今回のお題は「ソート」です――なにをいまさらソートなんか、ではありますけど、先日少々変則的なソートを実装する必要に迫られ、プログラミングのトピックとして面白いんじゃないかと取り上げることにしました。要素の順序を入れ替えないソートのおはなしです。

  • 2016/05/30

    疎行列の計算を実装してグラフ理論をかじってみる

     長いお休みの間コードを触ってないと休み明けのリハビリがしんどいので、それといった目的もなくVisual Studioと戯れておりました。せっかくだから(?)普段めったにやらない分野で遊ぼうと「グラフ理論を行列で学ぶ」ってお題でコードを書いてたんですけど、なんだか面白い結果が出てきちゃったので紹介しておきますね。

  • 2016/04/20

    50年前に作られたメモリ管理アルゴリズム「Buddy memory allocation」

     4月ですねー、この世界に身を置いて三十数年目の春です。当時のノートを読み返すと、組み込み用途のメモリ管理ルーチンをアセンブラで書いたりしてました。黄ばんだノートの覚え書きの中から、メモリ確保/解放のスピードを重視したメモリ管理アルゴリズム:Buddy memory allocationを紹介しましょうか。

  • 2016/01/08

    C++/CXでHelloUWP!(後編)

     Windows 10 UWP(Universal Windows Platform)アプリケーション開発セミナーのC++/CXによる再演、後編です。前編ではページの作り方、およびページとコードビハインド間のバインディングの基本を解説しました。続く後編では複数ページ間の移動のおハナシ。Windows 8で登場したストアアプリの発展形/進化形ともいえるUWPでのUI制御のキモとなる部分です。

  • 2015/12/17

    C++/CXでHelloUWP!(前編)

     11月20日、品川でマイクロソフト主催のハンズオン・セミナーが開かれました。Windows 10の目玉の一つ:UWP(Universal Windows Platform)アプリケーションの開発を体験しようってセミナーです。真っ白なウィンドウを表示するだけのひな型から始まって、デバイスに応じたUIデザイン、ライブタイル、Azure連携さらには手書き文字認識からコルタナさんまでぎっちり詰め込んだ盛りだくさんの内容、ここ半年ほどVisual Studioを立ち上げてもほとんどC++ばっかり書いてて...

  • 2015/12/07

    IoTをかじってみよう(2) ~mbedから取得したセンサデータをWebアプリケーションで可視化する

     連載第1回では、mbedの概要とオンラインIDEの使い方を紹介し、最後に簡単なプログラムを作成して動かすところまでを行いました。第2回では、アプリケーションボードでmbedを拡張し、mbedからセンサデータをサーバに送信してアプリケーションでビジュアルに表示できるところまでを、まったくコードを書かずに実践します。

  • 2015/11/30

    Visual C++ 14で見つけた<experimental>(試験的)な機能

     Windows 10に併せてリリースされたVisual Studio 2015、哀しいことに(インストールは済ませたものの)いまだにじっくりと触ることができていません。いつもならせっせとプロジェクトを引っ越し、ピカピカの環境で遊んでいるはずなのに……。いろんなオトナの事情でもうしばらくはVisual Studio 2013に留まらざるを得ないのですが、このままほったらかして、ずるずると遅れをとってるわけにもいかないので、ちょっとのヒマを見つけては新しいVisual C++ 14の味見を続けてい...

  • 2015/10/30

    IoTをかじってみよう(1) ~mbedの概要とオンラインIDEの使い方

     本連載では、比較的入手しやすく、オンラインIDEで開発環境も構築しやすいmbedを使った作例を通して、IoT(Internet of Things)でどんなことができるのか、またどんな点に注意すればよいのかを紹介していきます。第1回では、mbedの概要とオンラインIDEの紹介、簡単なプログラムを作成して実行するところまでを解説します。

  • 2015/08/24

    <numeric>がらみの数値演算に触発されて、「巨大整数のかけ算」を行う方法

     前回<numeric>をひとめぐりして以来数値演算が面白く感じられ、Webの海に漁に出かけてました。その中でちょっと気になるpaperを見つけましてね:「Big Integer Multiplication with CUDA FFT(cuFFT) Library」。CUDA FFT(cuFFT)を使って巨大整数の掛け算を行うおはなし。10pageにも満たないpaperながら計算の手順が分かりやすく述べられていて、ものは試しとcuFFTのかわりにFFTWで実装してみたらあっさりでき...

  • 8778_t.gif
    2015/07/09

    <numeric>数値演算アルゴリズムひとめぐり

     「複数のプロジェクトを横断した設計~実装の後方支援」という役柄の僕は、さまざまなツールやライブラリ、サンプルコードを提供することが求められます。そのため空いた時間を見つけてはいろんなライブラリの味見をし、自分の持ち駒として溜め込むことにしています。今回は標準C++ライブラリの一つ、演算アルゴリズムを集めた<numeric>のご紹介です。

  • 8752_t.jpg
    2015/06/11

    「Intel Edison」と「IoT Analytics Dashboard」を使って簡単なデバイス間連携を行ってみる

     本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆さまにお届けしています。今回はIntelが展開している小型コンピューティングプラットフォームである「Edison」を取り上げます。

  • 8647_t.gif
    2015/04/28

    クロスプラットフォーム対応ゲームフレームワーク「Cocos2d-x」のデータ構造と、画像の表示

     「Cocos2d-x」は、クロスプラットフォーム開発に対応したオープンソースのゲームフレームワークです。2Dゲームに最適化されており、国内の著名なスマートフォンゲームでも数多く利用されています。本連載では、トランプゲームの作成手順を通して、Cocos2d-xおよびゲーム開発の基礎を紹介していきます。第2回は、「シーングラフ」と呼ばれるデータ構造と、画像の表示方法について解説します。

  • 8480_t.gif
    2015/03/16

    CUDA:「超並列コンピューティング」はじめました(その2) ~高速化TipsとOpenGLでのグラフィクスへの応用

     引き続きCUDAのおハナシ。前回はほんの導入編、CUDAによる超並列コンピューティングの"はじめの一歩"でした。これで完結ではあまりにつまんないし、ビデオ・カードを貸してくれたNVIDIAさんに申し訳がたちません。パフォーマンス向上のTipsとグラフィクスへの応用例を紹介します。

  • 8468_t.gif
    2015/03/13

    無料/国内実績多数のクロスプラットフォーム対応ゲームフレームワーク「Cocos2d-x」の概要と環境構築手順

     「Cocos2d-x」は、クロスプラットフォーム開発に対応したオープンソースのゲームフレームワークです。2Dゲームに最適化されており、国内の著名なスマートフォンゲームでも数多く利用されています。本連載では、トランプゲームの作成手順を通して、Cocos2d-xおよびゲーム開発の基礎を紹介していきます。第1回は、Cocos2d-xの概要と、開発環境の構築手順を紹介します。

  • 8440_00.png
    2015/03/05

    組み込みスーパーコンピュータ「NVIDIA Jetson TK1」のセットアップとOpenCVを使った歩行者検知プログラムの実行

     本連載では、製造元である米NVIDIAが「世界初の組み込みスーパーコンピュータ」とうたう開発キット「Jetson TK1 DevKit」を用いて、遊びながらCUDAプログラミングを学びます。解説は、Jetson TK1 DevKit(Tegra K1)が切り拓いた新しいモバイルコンピューティング環境で何ができるのかを伝え、実際に読者の方が実践するために必要な情報を提供することを目的として進めていきます。

  • 8429_t.gif
    2015/02/12

    CUDA:「超並列コンピューティング」はじめました

     昨年末に気の早いお年玉が届きました。GPUでおなじみのNVIDIAさんとご縁があって、GeForce GTX750が乗ったビデオカードを貸してもらえることになりまして。GTX750に詰め込まれた512個ものコアを汎用の計算装置として使えるなんてワクワクするじゃないですか。NVIDIAさんへのお礼を兼ねて、GPUを使った超並列コンピューティング環境:CUDA(クーダ)に手を染めるオハナシです。

  • 8359_t.gif
    2015/01/14

    状態遷移図/表、すなわち設計をコードでテストする

     昔々に書いたコード(とその覚え書き)が役に立つことは少なくないもので、3年以上前のアーティクル:『状態遷移表からStateパターンを自動生成する』で紹介した、T4-templateを用いて状態遷移表からC#/C++のひな型コードを吐くってネタが使える案件が降ってきました。とはいえ今回、吐かせたいひな型はCとのこと……まぁ、キモは同じだからなんとかなるっしょ。新たな試みとして、生成されたひな型を使って状態遷移図/表すなわち"設計"をテストします。

  • 8259_t.gif
    2014/12/05

    Boost.Containerのフツーじゃないコンテナたち

     標準C++ライブラリが提供するコンテナは可変長配列、双方向リスト、二進木、ハッシュ表など。これだけの品揃えならあらかたのシチュエーションでそれぞれに適したコンテナを選択できることでしょう。加えてそれだけでは満足できない御仁のための有用なコンポーネントの集合体:Boostには、標準ライブラリには含まれていない便利なコンテナが収められています。

214件中1~20件を表示
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5