Dev-C++ 4.9.9.2、gcc version 3.4.2 (mingw-special)です。
メモリの動的な確保と開放のタイミングについて質問があります。
ただし、メモリの確保と開放は以下のマクロで行うこととします。
/*マクロ*/
#define mymalloc(size) HeapAlloc(GetProcessHeap(),0,(size))
#define myfree(ptr) HeapFree(GetProcessHeap(),0,(ptr))
/*使用例*/
void* ptr=mymalloc(1000);/*メモリ確保*/
myfree(ptr);/*メモリ開放*/
絶対安全だろうというものも含めてあります。
- 関数Aでメモリを確保し、同じ関数Aでメモリを開放
- 関数Aでメモリを確保し、同じソースコード内の関数Bでメモリを開放
- 関数Aでメモリを確保し、
同じexeファイルにリンクする別のソースコード内の関数Bでメモリを開放 - 関数Aでメモリを確保し、
同じスタティックリンクライブラリにリンクする別のソースコード内の関数Bでメモリを開放 - 関数Aでメモリを確保し、
同じdllにリンクする別のソースコード内の関数Bでメモリを開放 - メインのexeファイルのソースコードの関数Aでメモリを確保し、
それにリンクするスタティックリンクライブラリのソースコードの関数Bでメモリを開放 - リンクするスタティックリンクライブラリのソースコードの関数Aでメモリを確保し、
メインのexeファイルのソースコードの関数Bでメモリを開放 - あるスタティックリンクライブラリのソースコードの関数Aでメモリを確保し、
同じexeファイルにリンクする別のスタティックリンクライブラリのソースコードの関数Bでメモリを開放 - メインのdllのソースコードの関数Aでメモリを確保し、
それにリンクするスタティックリンクライブラリのソースコードの関数Bでメモリを開放 - リンクするスタティックリンクライブラリのソースコードの関数Aでメモリを確保し、
メインのdllのソースコードの関数Bでメモリを開放 - あるスタティックリンクライブラリのソースコードの関数Aでメモリを確保し、
同じdllにリンクする別のスタティックリンクライブラリのソースコードの関数Bでメモリを開放 - メインのexeファイルのソースコードの関数Aでメモリを確保し、
それが読みこむdllのソースコードの関数Bでメモリを開放 - あるdllのソースコードの関数Aでメモリを確保し、
それを読み込むexeファイルのソースコードの関数Bでメモリを開放 - あるdllのソースコードの関数Aでメモリを確保し、
同じexeファイルから読み込まれる別のdllのソースコードの関数Bでメモリを開放 - あるexeファイルにリンクされたスタティックリンクライブラリのソースコードの関数Aでメモリを確保し、
そのexeファイルから読み込まれるdllのソースコードの関数Bでメモリを開放 - あるexeファイルから読み込まれるdllのソースコードの関数Aでメモリを確保し、
そのexeファイルにリンクされたスタティックリンクライブラリのソースコードの関数Bでメモリを開放
よろしくお願いします。