- 主题:让dll/so内的函数访问dll/so文件尾部加的一个字符串
不重新编译其实是个正常需求
每次编译就是一个不同的二进制产物,公司规模大点的话,那么测试团队就需要针对这个产物跑一下全套的回归用例,成本高
以前干过这种:
新版本出现问题,要回滚到老版本时,直接改老版本的dll里的版本号为一个更新的版本号,然后升级出去。
【 在 slowaction 的大作中提到: 】
: 我没太理解这个需求
: 你要从so里面读配置
: 这你就需要根据不同的用户来生成不同的文件
: ...................
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*
还有这招,改编译好的ELF文件,把资源数据塞进去。近乎hack的办法了。
https://elfembed.sourceforge.net/intro.php (这工具目前不支持64位的)
Windows上是有API支持这招的,linux就只能是这种第三方的了
还有这招
https://stackoverflow.com/questions/57854811/embedding-custom-data-into-elf-file-that-will-not-get-mmaped-by-ld-so
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*
多谢,权限问题主要是担心自己试没问题到客户机环境有问题,如果没有权限问题,那直接把配置附在文件尾部让程序读dll/so文件最省事儿了。
【 在 z16166 的大作中提到: 】
: so能load到进程里,那么这个进程就有权限读取这个so啊
: 另外,这种在ELF尾部额外追加的数据,OS应该不会map,所以/proc/pid/maps表里应该没这个数据,要不直接就已经在内存里了。
: 你先弄个小demo程序把这个流程try一下搞通,坐着论道,不如起来动手,顶多半小时的事情
: ...................
--
修改:toutouqi FROM 123.123.42.*
FROM 123.123.42.*