在 Linux 下,我可以注册一个将在 main 之前运行的例程。例如:
#include <stdio.h>
void myinit(int argc, char **argv, char **envp) {
printf("%s: %s\n", __FILE__, __FUNCTION__);
}
__attribute__((section(".init_array"))) typeof(myinit) *__init = myinit;
Run Code Online (Sandbox Code Playgroud)
通过使用 GCC 编译并链接它,函数myinit将在 main 之前运行。
有没有办法在 Mac OSX 和 MACH-O 下做到这一点?
谢谢。