関連記事
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
をちょろっと作ってみた@アンマネージメモリ
でも、そんな仰々しいものじゃなく、単純に、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
}
}
}

コメント
今年の漢字は、初登場「熊」に決定
今週末は天気が悪そうじゃ.お出かけには向かないかものぉ
今朝も一桁℃で寒いの.エアコンがフル稼働中
【#特別重大報道】存立危機事態オワタ:オヤジが亡くなったので諸々の行事を片してきたのぢゃ
【相続祭り】ドコモ光の解約を失敗した!ドコモは契約が無いって言うてるが...
【#大雪】大雪に対する国土交通省発表(25/12/2)
【#特別重大報道】存立危機事態キター!有事発生ぢゃ!!なので,ぎんゆぅ~さんはしばらくお休みしまする