5.3. 需要系统库的模块

编写模块很像编写应用程序。您必须提供“常规钩子”才能使其正常工作,例如pam_sm_authenticate()等,这与常规功能中的main()功能相对应。

通常,作者可能希望链接到某些标准系统库。就像编译普通程序一样,也可以对模块执行此操作:创建共享模块对象时,只需为所需的库附加* -l * * XXX *参数。要确保模块dlopen() ed 时已链接到 libwhatever.so 库,请尝试:

% gcc -shared -o pam_module.so pam_module.o -lwhatever