Magicode logo
Magicode
2

pythonノートブックでC言語を実行

pythonのsubprocessを使って、c言語をコンパイル&実行できます。



['.profile', '.bash_logout', '.bashrc', 'hello.c', '.ipython', '.jupyter-server-log.txt', '.cache', '.local', '.git', 'test.ipynb', 'requirements.txt']

['.profile', '.bash_logout', '.bashrc', 'hello.c', '.ipython', '.jupyter-server-log.txt', '.cache', 'hello', '.local', '.git', 'test.ipynb', 'requirements.txt']

Hello, world!

ノートブックセッションのメモリを試すこともできる。 関数wormは 自分のプロセスを再帰的に5個フォークすると同時に、double(8byte)*10000 = 80kbのメモリを予約。 ますますメモリ消費する様が見える。そして、フリーズする。


['.profile', '.bash_logout', '.bashrc', 'hello.c', '.ipython', '.jupyter-server-log.txt', 'worm.c', '.cache', 'hello', '.local', '.git', 'test.ipynb', 'requirements.txt']

['.profile', '.bash_logout', '.bashrc', 'hello.c', '.ipython', 'worm', '.jupyter-server-log.txt', 'worm.c', '.cache', 'hello', '.local', '.git', 'test.ipynb', 'requirements.txt']

メモリ監視用のライブラリpsutilを確認


動かなくなる

Discussion

コメントにはログインが必要です。