我正在使用boost::interprocess
来实现基于共享内存的IPC机制。我希望这是跨平台(包括Windows),构建系统是autotools。在某些平台上,boost :: interprocess要求你链接库librt
,它实现了一些线程函数,但不是在windows或苹果平台上(我认为)。请参阅以下链接:
现在,在autotools中,我可以根据主机是Windows来有条件地做事情,但最好使用AC_SEARCH_LIBS测试所需的功能是否可用。 AC_SEARCH_LIBS宏首先检查函数是否可用,没有库,然后依次使用提供的库列表。
要进行测试,我需要知道要搜索的功能。
更具体地说,我需要在我的程序中使用以下标题:
#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/interprocess/sync/interprocess_mutex.hpp>
#include <boost/interprocess/sync/interprocess_condition.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/containers/vector.hpp>
那么这些标题需要librt
中的哪些函数,或者找出这个函数的最简单方法是什么?