タグ

2011年8月11日のブックマーク (10件)

  • 工事中

    mntone
    mntone 2011/08/11
  • 『C#で共有メモリを扱うクラス』

    とあるオーダーでC++アプリとC#アプリ間で共有メモリを使うことになりました。 とりあえず、何とか共有メモリは使えてそう・・・ C#暦1ヶ月弱  C++は結構長いのですが。 C#にはなかなか慣れません。 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Threading; namespace MemoryMap_Test { public class SharedMemoryMgr { ////////////////////////////////////////////////////// // 使用するAPIをC#用にマーシャリングして再定義 // http://www.pinvoke.net/in

    『C#で共有メモリを扱うクラス』
    mntone
    mntone 2011/08/11
  • 欧美色精品视频在线观看九_wwxxxxx日本高潮_全免费a级毛片免费看_亚洲乱码无限2021芒果

    ,欧美色精品视频在线观看九,无码无套少妇毛多18p,欧洲精品无码完整资源抢先看,亚洲精品不卡无码成人AV,2020久久国产综合精品swag,召唤之绝世帝王

    mntone
    mntone 2011/08/11
  • その他の型

    第16章 その他の型 第15章で構造体について説明しましたので、C言語初心者の方が学習すべき「データ型」についてはこれ以上は必要ないような気もします。 ただ、一部の入門書には「typedef」、「union」、「enum」についても説明がありますので、この章で取り上げたいと思います。 16-1.typedef 「typedef」は既にある型に対して新しい名前を作成するもので、次のように記述します。 たとえば、typedef がよく使われるものにビット列があります。 ビット演算をする場合には演算対象の変数は「unsigned(符号なし)」であることが条件ですが、このunsigned型をビット演算の対象である事を強調して次のように宣言したりします。 typedef unsigned char BYTE; と宣言しておくと、このあとは BYTE data; と宣言できます。これは、 unsign

    mntone
    mntone 2011/08/11
    typedef, union, enum
  • サービス終了のお知らせ

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

  • IA-32 SIMDの扉

    SIMD命令およびアセンブラの基礎 SIMDとは 用語集 開発環境 アセンブラの基礎知識 x87 FPU命令を使用したプログラミング CPUの識別 メモリアドレスのアライメント ラップアラウンド算術と飽和算術 SIMD命令セットの分類と歴史 SIMD命令セットの記述方法 SIMD命令セットの概要 MMX命令セットの概要 SSE命令セットの概要 SSE2命令セットの概要 SSE3命令セットの概要 SSE4命令セットの概要 命令リファレンス データ転送命令 算術命令 比較命令 論理演算命令 シフト命令 シャッフル命令 パックおよびアンパック命令 変換命令 挿入および抽出命令 ブレンド命令 丸め命令 キャッシュ制御命令 その他の命令 プログラミング例 画像処理 音声信号処理 参考資料 参考資料 トップSIMDの扉

    mntone
    mntone 2011/08/11
  • C++ Dllの作成、使用方法

    ~DLLの作成~ VC++を使ってるとして説明します。 まずDLLのプロジェクトを新規作成しましょう。 プロジェクト名がDLLのファイル名になると思います。 新規作成>Win32 Dynamic-Linc Library を選択します。 OKボタンを押し、次は 空のDLLプロジェクト を選択し、終了ボタンを押します。 これでプロジェクトは出来ました。 次はファイルを追加しましょう。 新規作成>C/C++ ソースファイル を選択します。 プロジェクトへ追加にチェックが入ってることを確認して、ファイル名を適当に決めてOKボタンを押します。 ここではプロジェクト名を dlltest ファイル名を dlltest.cpp とします。 もう一度ファイルを追加します。次はファイル名を dlltest.def とします。 これでファイルの準備は終りました。 次は中身です。 以下のように書きます ////

    mntone
    mntone 2011/08/11
  • SIMD命令セットの記述方法

    SIMD命令を使用したプログラミングをする方法は、次のいずれかになります。 コンパイラのオプションを変更しSIMD命令セットを有効にし、記述はコンパイラに任せる イントリンシック命令を使用する インラインアセンブラを用いる 外部アセンブラでアセンブルしたオブジェクトファイルをリンクする 場合によりますが、下の項目ほどプログラミングが難しくなり、効果は高くなります。 コンパイラのオプションを変更しSIMD命令セットを有効にし、記述はコンパイラに任せる Visual C++の場合、プロジェクトのプロパティから[構成プロパティ]-[C/C++]-[コード生成]をツリーで選択し、[拡張命令セットを有効にする]オプションを変更することによってコンパイラが自動的にSSE命令セットを使用してコンパイルしてくれます。その際、あわせて[浮動小数点モデル]オプションを単精度浮動小数点をメインで使用するなら[

    mntone
    mntone 2011/08/11
  • CPUID命令を使用して、SSEに対応しているか調べるコード - ゲームとかプログラムとかパソコンとか

    2009/09/13 コードを少し変更 VC++のインラインアセンブラからCPUID命令を使用してSSEに対応しているか調べるコードを書きました。CPUID命令EAXレジスタに値を入れてCPUID命令を呼び出すと、各レジスタにCPUの情報が格納されます。 EAX=0 ベンダIDの取得EAX=1 プロセッサ情報とプロセッサの機能EAX=2 キャッシュとTLBディスクリプタ情報EAX=3 プロッセッサ・シリアル・ナンバEAX=80000000h サポートする最大拡張機能番号の取得EAX=80000001h 拡張プロセッサ情報とプロセッサの機能EAX=80000002h,80000003h,80000004h プロセッサブランド文字列EAX=80000006h 拡張L2キャッシュ情報EAX=80000008h 仮想アドレスと物理アドレスのサイズ 今回はSSEに対応しているか調べたいのでEAXには

    mntone
    mntone 2011/08/11
  • SSE.浮動小数点演算手動最適化は本当に効果的なのか - デー

    ちょっと試したので、結果をコピペ。 概要とたてまえ SSEは、x86のSIMD命令セットに含まれる浮動小数点演算の複数同時実行を行う命令セットです。単精度(float)で4つ、倍精度(double)で2つの演算を1命令で実行できるため、うまく使うと繰り返し同じ演算のパフォーマンスアップを期待できます。 Streaming SIMD Extensions - Wikipedia 画像処理や、確率の計算などでは浮動小数点数の計算を数百万回から回数とかいうレベルではなく3日間くらいの規模で行うことがあるので、 少しでも速くなると時間的にとてもうれしい! 計算をどこで妥協するかみたいな部分があるため速く計算を終わらせることでやれることの可能性が広がる! という思いがあります。 CUDAのほうが云々 CUDAは、NVIDIAのGPUが対応しているGPGPUの環境です。GPGPUというのは、グラフィッ

    SSE.浮動小数点演算手動最適化は本当に効果的なのか - デー
    mntone
    mntone 2011/08/11