LINUX编程,如何用动态链接库挂接一个可执行程序,并修改程序运行代码。

LINUX编程,如何用动态链接库挂接一个可执行程序,并修改程序运行代码。,第1张

这个实现有点难度吧,按你的意思这个只在服务端运行,运行时是可以加载库的,但运行中这个库怎么切换到新的库,切换过程中怎么保护。而且动态链接库的加载时刻是什么时候,这个和动态库的实现、编译动态库时的选项以及 *** 作系统对动态库的处理都有关系。例如程序中用到的符号是在动态库加载时一次解析还是执行时用到再解析?动态库有没有初始化函数? *** 作系统是直接将动态库拷贝到内存(若需要)还是做 memory mapping 后通过 virtual memory 系统按需调入?这样考虑下来,加载时间是什么是相当不明确的事情。

建议看下《程序员的自我修养-链接,装载与库一书》,讲解的还是不错的。

不是修改程序,而是文件.

如,你写了一个hello的程序,

要修改就从hello.c的文件修改,然后重新编译.

修改hello.c

vi hello.c


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9033223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存