Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

「C/C++」記事一覧

199件中21~40件を表示
  • 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には、標準ライブラリには含まれていない便利なコンテナが収められています。

  • 8147_t.gif
    2014/10/31

    インテルTBB:Flow Graphによるデータフロープログラミング

     多くのプログラミング言語では、与えられたデータを読み込みつつアレをしてコレをして.……と制御の流れ(control flow)を組み上げたものがプログラムであり、最初の処理(例えばmain)に着火することで実行開始します。対して今回紹介するインテルTBB:Flow Graphはデータの流れ(data flow)を組み上げ、その最上流からデータを流し込むことで処理を行う、一風変わったコンポーネントです。

  • 8058_t.gif
    2014/09/26

    並列処理のためのC++ライブラリ拡張 ~C++17: 並列STLの概要

     STLを多用したアプリケーションを可能な限り速く動作させる必要に迫られました。実験実装ではまずまずのスピードを叩き出してくれてたのですが、本番の稼働では思いのほか多量のデータを扱うことになりそうで、当初の想定より数割増し速くないとマズいことが判明しちゃいました。今以上に速くできるかコードを眺めてみたけれど、データ構造とアルゴリズムにはこれ以上の改善の余地がなさそうなんです。幸いなことに4coreのCPUを積んだマシンを使うとのことで、マルチスレッドによる高速化に望みを託すことになりました。

  • 2014/09/25

    ラムダ式でステップアップ! C++のプログラムから汎用的なアルゴリズムを切り出し利用してみよう

     本稿では、C++のプログラムをリファクタリングして、汎用的なアルゴリズムを切り出し、利用する流れをステップバイステップで解説します。また、C++11で採用されたラムダ式がそれを利用するのに、いかに便利なのかを紹介します。

  • 7849_t.gif
    2014/07/23

    「std::vector」観察記録 ~慣れ親しんだ可変長配列の仕組みとふるまいを検証してみた

     僕がSTLを触り始めたのはVisual C++のオマケ的扱いだった1996年頃だったでしょうか。当時のSTLはtemplateが現在ほどには充実/安定していなかったこともあって機能的に貧相でしたが、それでもvectorはこの頃から提供されていました。以来ずっとお世話になってきたvector、改めて"vectorの仕組みとふるまいを観察してみよう"が今回のお題です。

  • 7873_t.gif
    2014/06/26

    C++でAndroid/iOS(iPhone、iPad)両対応のネイティブなスマホアプリを作る

     現在主流のスマートデバイスといえば、AndroidとiOS(iPhone、iPad)です。スマホアプリを作るのであれば、Android/iOS両対応のネイティブなスマホアプリを開発したい、というのが多くのスマホアプリ開発者、そしてスマホアプリ開発参入予備軍の気持ちではないでしょうか。そしてもう一つ、C++という言語があります。AndroidだとJava、iOSだとObjective-Cというのがネイティブ開発をするときの言語と決まっています。でも開発者の気持ちとしては、共通の言語、しかもなるべ...

  • 7858_t.gif
    2014/06/26

    制御システム用ソフトウェアの脆弱性対策 ~CERTコーディングスタンダードの活用~

     年度頭からOpenSSLの脆弱性が世間を賑わせていましたが、Webの世界だけでなく、社会インフラを支える制御システムソフトウェア(ICSソフトウェア)においても脆弱性対策を留意しておく必要があります。本稿では、米国のICS-CERTが公開している脆弱性アドバイザリから見えてきたICSソフトウェアの脆弱性の傾向に加え、セキュアコーディングに特に効果的なルールを厳選して紹介します。(編集部)

  • 7738_t.gif
    2014/06/05

    C++/CLIで、機能拡張を簡単に実現するフレームワーク「MEF」を試してみた

     今回のお題は「MEF:Managed Extensibility Framework」。.NET Framework 4(Visual Studio 2010)で追加された、アプリケーションに拡張性を持たせることを目的としたフレームワークです。「re-buildなしにアプリケーションの機能拡張ができないか?」との相談を受け、MEFを試してみることにしました。

  • 7735_t.gif
    2014/05/13

    C++でJSONを読む

     おシゴトでJSONを扱うことになりました。どこぞのサーバがWeb-serviceをホストしてて、サービスとのやりとり(リクエストとその応答)がJSONで行われるらしく、C++でJSONを読み取る方法をリサーチしてくれとのこと。

  • 2014/04/17

    標準C++の正規表現: <regex>

     文字列の照合/検索/置換に威力を発揮する正規表現の歴史は古く、1950年代に生まれたものらしいです。PerlやRubyなどのスクリプト言語のほとんどは正規表現を最初っから(しかも言語レベルで)サポートしてくれていますが、C++に標準ライブラリとして組み入れられたのはC++11、つい最近のことです。C++標準の正規表現でどんなことができるのか、ざっくりと解説します。

  • 2014/03/31

    いよいよ登場する「C++Builder Android対応版」

     2014年3月20日、エンバカデロ・テクノロジーズの飯田橋オフィスで、「RAD Studio次期バージョンベータテスターミーティング」が開催された。次期バージョンでは、C++言語でもAndroidアプリ開発が可能になるという。ベータテスターミーティングは、ベータテスターおよびベータテスター候補を対象とした非公開のイベントであったが、その中からAndroidアプリ開発に対応するC++Builderの新機能について、先行してレポートする。

  • 7598_t.gif
    2014/03/04

    Visual C++ Compiler November 2013 CTP: "Torino"でできること

     昨年11月、次期Visual C++のお試し版(中間報告版)がリリースされたのをご存じでしょうか。Visual C++ Compiler November 2013 CTP、コードネーム:"Torino"です。Torinoでは積み残しとなっていたC++11機能のサポート追加のみならず、C++14さらにはC++17で採用される(かもしれない)新機能が詰め込まれています。Torinoでできることの主要なものを一挙にご紹介。

  • 7632_t.gif
    2014/02/18

    PPLの並列アルゴリズム

     PPL(Parallel Pattern Library)をご存じでしょうか。Visual C++ 10.0(Visual Studio 2010)以降で提供されているマイクロソフト製の並列プログラミングをサポートするライブラリです。PPLの並列アルゴリズムで素数探しプログラムのパフォーマンスを向上させるお話。

  • 2014/01/28

    C++でプロパティを実現するココロミ

     昨年末からC++/CXで遊んでいます。C++/CXは"ほぼC++"ではありますが、C++にはない機能も散見されます。GC(garbage collection)のおかげでnewしたものの後始末は勝手にやってくれますし、あらゆるものがPlatform::Objectから(直接/間接的に)導出されているのも特徴の一つです。今回のお題はC++にはない機能の一つ:プロパティをC++で実現したらどうなるの、ってオハナシ。

  • 7579_t.gif
    2014/01/09

    85%の開発者がネイティブモバイルアプリが最善と回答 C++言語でもモバイル開発が可能に

     2013年12月10日に開催された「第27回 エンバカデロ・デベロッパーキャンプ」で、C++によるiOSアプリのビジュアル開発を実現した「C++Builder XE5」が発表された。ドラッグ&ドロップのビジュアル開発、既存のC++コードやナレッジの利用、WindowsやMacとのクロス開発など魅力も多い。今回は、この新製品の発表と関連する講演についてレポートする。

  • 7541_t.gif
    2013/12/26

    C++/CX: Windows Runtime Componentをつくる

     .NETの大きなウリの一つが多言語対応です。定められたお作法に則ったコードを書けば、他の言語で書かれたものと自由に混ぜてアプリケーションが作れます。C++/CXはストアアプリの実行環境であるWindows Runtimeの"お作法"に従うよう拡張されたC++てわけ。前回で書いたC++のコードにC++/CXのカワを被せ、C#やVB.NETから呼び出すココロミを紹介します。

  • 7506_t.gif
    2013/12/17

    「ペライチ」からはじめよう ~C++/CX Windows 8.1ストアアプリことはじめ

     ようやっと重い腰を上げWindows 8ストアアプリで遊んでみようと思い立ったのが今年の春、ビギナ向けに記事も書きました(#7092、#7130、#7273)。以来まだ半年かそこらのうちにWindows 8.1とVisual Studio 2013のリリースですよ...まぁそれでもこれまでに書いた紹介記事はそのまま通用するよね...と思ってたら違ってました。

  • 2013/11/14

    「never say new, never say delete」 ~C++11のunique_ptrのおはなし

      Windows 8.1にあわせ、Visual Studio 2013がリリースされました。早速愛機にインストール(RC版から差し替え)し、これまでに書き溜めたサンプルやライブラリ、実験コードのre-buildを始めています。re-buildがてら古いコードを見渡してイケてないコードをお化粧直しするチャンスでもありますし。その中には20世紀に書いたものもあったりします。あんまり使わんもんだからメンテをサボってて、今となっては時代遅れのコードも少なくありません。

199件中21~40件を表示
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5