関連記事
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【#RaspberryPI】ラズパイでsudo起動の.Net6アプリがデバグできない件 【2023年04月22日(土)】
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 【#git】TortiseGit ver2.14のGitWCRev.exeを動かすとErrorCD:10を出力して,動かない 【2023年02月08日(水)】
をちょろっと作ってみた@アンマネージメモリ
でも、そんな仰々しいものじゃなく、単純に、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 } } }
コメント
【体調不良】起きて早々,閃輝暗点発生中
【#あまちゃん】「あまちゃん」放送10周年記念 スペシャルコンサート 久慈
#あまちゃん 10周年スペシャルコンサートのチケットを買ってみた eplusの新会員登録画面,作りがなっとらん!
イーロン・マスク氏 「X」全利用者に少額課金求める考え示す
秋分の日 雨が降り出した しかも涼しい
【#インフルエンザ】「インフル 4週間以内に大流行の可能性 対策を」小池都知事
“吉田屋”の駅弁 1都23県295人が体調不良を訴える 八戸市保健所
【アゼルバイジャン】ナゴルノカラバフ アルメニア側“事実上敗北” 死者200人超か