jac*_*hab 3 linux shared-libraries
在我运行可执行文件后,我用新版本覆盖其.so库文件,这会导致可执行文件因为分段错误而死亡.我以为只有在加载ELF文件时才访问库文件.我错了吗?
caf*_*caf 11
库文件在加载时会被映射到内存中(通常,在加载可执行文件时 - 但也可以在以后加载库dlopen()).然后根据需要加载文件的实际页面.
覆盖文件将导致映射文件中的页面MAP_SHARED(其中大部分)使用新内容进行更新.这是导致分段错误的原因.不要这样做 - 而是删除现有的.so文件,然后在其位置写入新文件.
| 归档时间: |
|
| 查看次数: |
1377 次 |
| 最近记录: |