6

ドキュメントによると、PyImport_AppendInittab は「Py_Initialize() の前に呼び出す必要があります。」

なぜそうなるのかについての説明はなく、このアドバイスを無視すると、実用的なアプリケーションが得られます。では、これは機能しているのに、どのような状況で機能しないのでしょうか?

4

1 に答える 1

6

ドキュメントにそう書かれているので; また、API に違反すると、今日動作するアプリケーションが生成される可能性がありますが、明日は生成されません。

発生する可能性のあるいくつかの問題:

  • sys.builtin_module_namesPy_Initializeで初期化されるため、モジュールは含まれません
  • PyImport_AppendInittabはロックを取得しないためPy_Initialize、マルチスレッド アプリケーションで後で呼び出すと、メモリが破損する可能性があります。
于 2012-09-04T15:10:25.703 に答える