该项目用来封装linux信号量的操作,方便我们操作信号量。
该项目最终生成动态库libsem_common.so
使用说明:
包含头文件sem_common.h
编译动态库libsem_common.so
main.cpp:
#include "../../sem_common/sem_common.h"
#include <stdio.h>
int main(int argc, char *argv[])
{
int key = 0x1000;
int id = CSemCommon::InitSemForced(key, 1, 1);
printf("key = %x, id = %x\n", key, id);
return 1;
}
?g++ main.cpp -L../../../lib/ -lsem_common -o sem_test
./sem_test
key = 1000, id = 18002
ipcs -s
------ Semaphore Arrays --------
key ? ? ? ?semid ? ? ?owner ? ? ?perms ? ? ?nsems ? ??
0x00001000 98306 ? ? ?xxx? ? ? 666 ? ? ? ?1 ? ? ?