関連記事
- 【#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 } } }
コメント
【#緊急非常事態】スマホを紛失した!amazonで買ったカナビラがぶっ壊れてスマホが消えた!
「君たちはどう生きるか」「ゴジラ-1.0」アカデミー賞を受賞
昼から雨だそうな.人が洗車すると..ブツブツ
【訃報】TARAKOさん急死 63歳 「ちびまる子ちゃん」を35年
【#訃報】漫画家 鳥山明さん死去 68歳 「DRAGON BALL」などで人気
たぬきケーキの人気再燃 レトロな魅力、再販する店も
【#株価】日経平均株価 終値で初の4万円台 史上最高値を更新(24/3/4)
睡眠「成人は6時間以上」 新ガイドは日本人の眠りを変えられるか
再起動不要でWindows 11をアップデートする機能、2024年後半に導入か
【#確定申告】さて,税務も終わった件