関連記事
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
をちょろっと作ってみた@アンマネージメモリ
でも、そんな仰々しいものじゃなく、単純に、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 } } }
コメント
外は1℃しか無いぞー真冬キター(24/12/9)
【訃報】俳優 中山美穂さん死去 54歳 東京・渋谷の自宅で 警視庁
【#閃輝暗点】閃輝暗点が始まった!いつもどおり目が見えなくなってるー(汗
【#イプシロン】イプシロンSロケット 燃焼試験中に爆発事故発生
あっちもこっちも風邪が流行ってるの.外に出たら感染する勢い!
【訃報】俳優 火野正平さん死去 75歳
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ