5.3. 需要系统库的模块
编写模块很像编写应用程序。您必须提供“常规钩子”才能使其正常工作,例如pam_sm_authenticate()
等,这与常规功能中的main()
功能相对应。
通常,作者可能希望链接到某些标准系统库。就像编译普通程序一样,也可以对模块执行此操作:创建共享模块对象时,只需为所需的库附加* -l
* * XXX *参数。要确保模块dlopen()
ed 时已链接到 libwhatever.so 库,请尝试:
% gcc -shared -o pam_module.so pam_module.o -lwhatever