関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
をちょろっと作ってみた@アンマネージメモリ
でも、そんな仰々しいものじゃなく、単純に、Marshalのメソッドを呼び出してみただけ(笑)
Marshal.AllocHGlobal()で確保したメモリと
Marshal.AllocCoTaskMem()で確保したメモリ
どっちがアクセスが速いかは、気が向いたら、計測しておきますわぁ~
でもなんとなく、Marshal.AllocHGlobal()のほうが速い気がするけど…
【追記:2012/11/22】
Marshal.AllocCoTaskMemが速いそうな!(なんとっ! 😯
こちらのページに記載がありましたっす
.NET Framework クラス ライブラリの下の2つのアンマネージメモリ確保APIの違いを教えて下さい。@はてな
ってことで,書き換えておこう...(汗
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace bMountLib.Objects { //アンマネージメモリ管理クラス public class CommonMethedMemory { #region APIs [DllImport("Kernel32.dll", EntryPoint="RtlMoveMemory")] private static extern void CopyMemory(IntPtr Destination, IntPtr Source, [MarshalAs(UnmanagedType.U4)] int Length); #endregion //------------------------------------------- //alooc // //------------------------------------------- static public IntPtr MemAlloc(int size) { #region return Marshal.AllocCoTaskMem(size); #endregion } //------------------------------------------- //free // //------------------------------------------- static public void MemFree(IntPtr pt) { #region Marshal.FreeCoTaskMem(pt); #endregion } //------------------------------------------- //コピー // //------------------------------------------- static public void MemCopy(IntPtr d, IntPtr s, int l) { #region CopyMemory(d, s, l); #endregion } } }
コメント
こどもの日,らしい.城主生誕記念の軍事パレード決行なのかっ!?
今朝,寒いよっ!暑くなったり寒くなったりで自律神経が辛い
グリコ「プッチンプリンやカフェオーレ」目標の5月中旬に出荷再開できず 停止期間を延長決定
【#インボイス】消費税の納付,督促状,らしい...ドロドロドロ 所得税の口座引落登録のみじゃNGっぽい
北海道 根室 軽トラックにヒグマが衝突 乗っていた2人けがなし
火野正平さん、腰痛で撮影中断 NHKBS「にっぽん縦断 こころ旅」 ネットに案ずる声
ゴールデンウィークがスタート 見事な土砂降りワロタ