ctypesは、正しく使用すると安全なモジュールです。
いくつかのライブラリは、物事へのより低いレベルのアクセスを提供しますが、一部のモジュールでは足で自分を撮影することができます。だから当然ながら、いくつかのモジュールは他よりも危険です。これはあなたがそれらを使用してはならないという意味ではありません!
#Crash python interpreter
from ctypes import *
def crashme():
c = c_char('x')
p = pointer(c)
i = 0
while True:
p[i] = 'x'
i += 1
Pythonインタプリタがクラッシュ自体は実行時エラーでアウトerroringだけでPythonコードとは異なります:
は、おそらくこのような何かを参照誰かを聞きました。例えば、デフォルトの再帰制限が設定された無限再帰では、実行時エラーが発生しますが、Pythonインタプリタはその後も有効です。
もう1つの良い例は、sysモジュールです。しかし、Pythonインタプリタをクラッシュさせる可能性があるので、sysモジュールの使用をやめることはありません。
import sys
sys.setrecursionlimit(2**30)
def f(x):
f(x+1)
#This will cause no more resources left and then crash the python interpreter
f(1)
低レベルのアクセスを提供する多くのライブラリもあります。たとえば、The gcモジュールを操作して、部分的に構築されたオブジェクトにアクセスし、そのフィールドにアクセスするとクラッシュする可能性があります。 Cライブラリには、あなたができるすでに原因のクラッシュを使用している場合、実際にクラッシュを引き起こす可能性がありますCrashing Python
それほど多くの良い答え、私はこれについて考える必要があり、それぞれの答えについてもっとコメントする必要があります。私はこのサイトが大好きです。 – phreaki