为什么lsof没有显示在Mac OS X上加载了libstdc ++?

时间:2010-11-09 18:57:44

标签: c++ macos lsof

我知道有一个应用程序使用libstdc ++,但即使是超级用户,我也无法在Mac OS X 10.6 Snow Leopard系统上看到/usr/lib/libstdc++.6.0.9.dylib?

lsof | grep libstdc ++

如果我使用DYLD_LIBRARY_PATH来使用我自己的libstdc ++副本,它会在我的应用程序运行时显示在完整路径中:

fooo 1701 foooo  txt      REG               14,5     2439888   54431 /path/to/shared/libstdc++.6.0.9.dylib

这是一次徒劳无功的谷歌搜索。在linux系统上,任何用户都可以在/ usr / lib中查看哪些应用程序正在使用该库。

1 个答案:

答案 0 :(得分:2)

我想原因是libstdc ++被认为是OS X中的系统库,并且与其他用户库的处理方式不同。

如果您希望系统像用户提供的库一样加载它,请使用以下内容:

export DYLD_SHARED_REGION=avoid
./your_program_name

man dyld有关上述环境设置的含义的更多信息。