0

私は少しハッキングしています。

で関数を定義するObjCコードがあります__attribute__((constructor)) void init。これを静的にMacOSXアプリにリンクします。また、他のMacOSXバンドルに静的にリンクされています。

ある場所で、MacOSXバンドルバイナリを直接ロードしdlopenます。最初の質問:それはそれをロードするのと同じくらいの違い[[NSBundle bundleWithPath:[NSString stringWithUTF8String:path]] load]ですか?

ではinit、このコードがどのようにロードされたかなど、プロセス環境に関する情報を取得したいと思います。たとえば、現在のプロセスのバイナリのファイル名(いずれの場合もCocoaアプリである可能性が非常に高い)。そして多分もっと。

4

1 に答える 1

0

いくつかの非常に役立つもの:

[[NSBundle mainBundle] executablePath]
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
于 2011-09-06T01:13:28.520 に答える