2011-09-06 5 views
0

나는 조금 해킹하고 있습니다.lib vs MacOSX 번들 : proc 환경에 대한 정보를 얻는 방법. 어떻게로드 되었습니까?

__attribute__((constructor)) void init으로 함수를 정의하는 ObjC 코드가 있습니다. 이 링크를 일부 MacOSX 앱에 정적으로 연결합니다. 또한 다른 MacOSX 번들에 정적으로 링크되어 있습니다.

어떤 곳에서는 MacOSX 번들 바이너리를 직접 dlopen을 통해로드합니다. 첫 번째 질문 : [[NSBundle bundleWithPath:[NSString stringWithUTF8String:path]] load] 정도를로드하는 것보다 차이점이 있습니까?

init에서 나는 프로세스 환경에 대한 정보를 얻고 싶습니다. 이 코드가 어떻게로드되었는지. 예 : 현재 프로세스의 이진 파일 이름 (어떤 경우에는 Cocoa 응용 프로그램 가능성이 높습니다). 어쩌면 더 많을 수도 있습니다.

답변

0

일부 매우 도움이 물건 :

[[NSBundle mainBundle] executablePath] 
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];