我知道在 main(int argc, char*argv){
}
可以传外部参数进去例如 xxx.exe "参数"
但如果我在 main 里面有一个无穷循环 while
while 里面我该如何获得外面传进来的参数呢??(假设这个无穷循环不能read file)
短时间内想不出来="=
谢谢指教
read file 是我想到的方法,就是S大想到的polling io可我是在 android 系统内的底层,无法读取file
socket programming? bind() accept() recv()
请问S大,那这个程式的外部该如何指定到这个变量呢?假设我要从这个程式传"adc"这个参数进来
这已经是系统等级的设计 command buffer?
开thread 用event loop 配callback讲一个最简单的 开一个thread放你的loop设一个flag book new_input你外面有读到东西就把flag改掉 这够简单了吧
作者:
LPH66 (-6.2598534e+18f)
2016-08-09 21:31:00既然都说是 daemon 了就不要管参数, 先决定你要怎么送东西给这个 daemon 再来决定要怎么读其实就是 Sidney 在问的“你的外面是多外面”之所以不要管参数是因为参数只是启动在用
作者:
LPH66 (-6.2598534e+18f)
2016-08-09 21:33:00而你这是 daemon 是会一直接受外面的要求来做事的
不考虑socket吗?很直觉得不就是用socket解决?
作者: LiloHuang (十年一刻) 2016-08-09 22:04:00
透过 flag 得记得加 memory barrier 避免 CPU 乱序执行也可考虑注册 SIGUSR1 之类的 signal,在 handler 改值
你需要的是ipc(inter process communication)
作者:
EdisonX (卡卡兽)
2016-08-10 09:06:00ide ? os ?
作者:
Qoofate (大鲁阁_最强打者)
2016-08-10 10:20:00linux IPC fifo ,但原po没说平台阿
...楼上好多想法,我现在先用另一只程式写入参数到device node,最后再由主程式将资料读出来...我的平台是 linux感谢各位给我意见,我会慢慢来try,东西先有出来再说
作者:
wtchen (没有存在感的人)
2016-08-10 20:07:00东西出来后可以上来分享吗?我对这很有兴趣
作者: chiwa (我是青蛙,不是王子^_^) 2016-08-10 21:56:00
android的话可以参考libsysutils的FrameworkListener一个典型的Linux socket封装
作者: LiloHuang (十年一刻) 2016-08-11 01:08:00
也可考虑 boost::interprocess::message_queue