返事と回答ありがとう。この質問は編集されました。なぜなら、私の以前の質問すべてが非常にぼやけていて、私が達成したいと思うことと目標を正確に示していないからです。 LinuxプラットフォームでC言語を使用してヒープの最後のアドレスを知るには?
、私のアプリケーションで使用されるヒープのサイズを決定することが可能でどのような方法:
は質問を更新しました。例えばのような..
void printHeapReport()
{
/* implementation here to print the heap size */
}
int main()
{
char *ptemp = NULL;
p = (char*)malloc(10); /* 10 bytes */
printHeapReport();
return 0;
}
アプリケーションの標準出力画面で出力されます:私は、ヒープのサイズを印刷するアプリケーションでのデバッグレポートを作成したいので
Debug Report:
--------------
Heap: 10 bytes
--------------
が、私はこれを聞いて。
アドバイスをしてください。
多くのありがとうございます。
旧質問:
、CのASMのインライン関数を使用するには、ヒープの開始およびヒープの終わりのアドレスを知ることができますか?また、プログラムの最後のアドレス?
asm(<assembly code>);
このコードを使用すると、アプリケーションで使用されるヒープのサイズを判断できます。このアプローチは、ヒープのサイズを決定するのに有効ですか?
アドバイスをしてください。
多くのありがとうございます。
「プログラムの終了」とはどういう意味ですか?コードセクションの終わり?最後のセクションの終わりか?またはアセンブラプロシージャの終了? – Max
こんにちは、私はコードセクションを意味します。ありがとうございます – domlao
これを行う必要がある正当な理由を教えていただけたら感心します。 – GManNickG