たぶん、スタックポインタを知るにはもっといい方法があるのだろうけど、ローカル変数のアドレスを見ています。
EthernetNetIfのライブラリーは便利で簡単にインターネット接続のプログラムが作れるがメモリー使用量が多くて、
STLコンテナを多用していたら突然動かなくなった。原因を探ったらヒープ領域を使い切っていた。
#include "mbed.h" #include---void no_memory () { cerr << "Failed to allocate memory!" << endl; exit (1); } void proc() { wait(1); char buf[256]; char* p = new char [256]; cout << hex << (int)p << "," << (int)buf << endl; proc(); } int main() { set_new_handler(no_memory); cout << "-heap---,-stack--" << endl; proc(); }
0 件のコメント:
コメントを投稿