我正在运行 Solaris,因此这可能特定于在 Solaris 上运行 GCC。如果我使用 GCC 生成一个共享对象,然后在其上运行 nm 以查看未定义的符号,那么总会有对 main 的引用:
[624] | 0| 0|NOTY |GLOB |0 |UNDEF |main
如果我使用 ld 手动生成相同的共享对象,则对 main 的引用不存在。如果我在 /usr/lib 中的系统库上运行 nm,它们似乎都没有对 main 的引用。只有我自己用 GCC 编译的共享库。
针对这些共享库编译的应用程序运行良好且没有错误。但是我仍然不明白为什么首先要引用 main 。有什么线索吗?