Fhi*_*vor 1 linux zipcode function segmentation-fault
如果我有一个指向函数的指针,并将其交给另一个(Unrelated/Child)可执行文件,如何在不进行段错误的情况下调用该函数?
目前我可以创建一个函数并为其分配这个内存地址:
Dim As Function (ByRef As String) As Integer MyFunction
' get pointer...
MyFunction = FunctionPointer
Run Code Online (Sandbox Code Playgroud)
但后来调用MyFunction我得到一个段错误(显然是因为我调用的函数是在另一个可执行文件的地址空间,我不允许访问)
我该如何解决这个/解决它?
如果您可以控制其他可执行文件(您要从中调用函数),则将其构建为PIE(与位置无关的可执行文件),并将其加载到第一个可执行文件的地址空间中.
在C,你将构建-fPIC -pie,然后使用dlopen(3)和dlsym(3).
在BASIC,我没有线索;-(
| 归档时间: |
|
| 查看次数: |
1118 次 |
| 最近记录: |