c – 使用共享库计算程序数
发布时间:2020-12-16 07:08:59 所属栏目:百科 来源:网络整理
导读:我有一个库foo.so.每次新程序启动时,都会使用此库加载. 我想(以某种方式)声明库中的静态变量并通过一个程序栏询问,该程序栏也使用foo.so库加载,加载了多少程序(使用此库).我尝试过static和extern,但是每次为每个程序初始化变量为零时(所以当我向bar询问有关
我有一个库foo.so.每次新程序启动时,都会使用此库加载.
我想(以某种方式)声明库中的静态变量并通过一个程序栏询问,该程序栏也使用foo.so库加载,加载了多少程序(使用此库).我尝试过static和extern,但是每次为每个程序初始化变量为零时(所以当我向bar询问有关计数器时它会告诉我它1).有可能以某种方式获得我想要的结果吗? 解决方法
您将需要使用某种跨进程构造.我没有在
linux上练习,但我怀疑
shared memory或
semaphore将是一个不错的选择.由于你不会使用信号量来达到它的正常目的,它可能看起来有点奇怪,甚至可能会停止工作.但我认为一个简单的信号量方法是执行以下操作:
在加载时: 在检查时: 在卸载时: (可选地,你可以尝试在每个地方打开,处理和关闭信号量,以避免必须绕过sem_t.但是如果系统自动清除一个在任何地方都没有打开的信号量,那么这将是灾难性的你的目的.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |