Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试包装一些 C 代码以使用 Matlab/Octave 访问它。问题是代码没有用-fPIC编译,这似乎是用mex文件包装它的必要条件。我无权访问所有源代码,因此无法使用 -fPIC 重新编译。有没有办法解决这个问题?
不幸的是,我认为没有。您可能必须构建一个独立的可执行文件并使用“系统”命令来运行它。
-fPIC 开关生成适用于共享库的与位置无关的代码。如果您生成的代码没有 -fPIC,则它不是位置独立的,并且不能在共享库中使用。由于 MEX 文件是共享库,因此您将无法在其中使用非 PIC 代码。