独立开发时遇到的问题

mq_receive 报错?

1,检查有没有创建消息队列(/dev/mqueue/xxx);
2,检查旧的队列有没有被删除;

始终处与__lll_wait_lock状态?

1,查看使用的lock有没有被创建;
2,查看使用的lock有没有被初始化;
3,查看有没有死锁 (打印锁变量,查看owner;查看rdi也可以查看owner)

如何让git更加方便的提交和回退?

1,理解git本地管理模型:work -(add)- index/stage -(commit)- repository;
2,基于上述模型,先add,确认后再commit;回退时先reset从index中拉,不行在checkout从repository中拉。

makefile中用vpath指定路径,还是提示找不到文件?

1,注意makefile的逻辑:target - prerequest - command。vpath指定了前二者的搜索路径。
2,command的搜索路径需要再gcc中特别指定,不能和makefile混用。

make过程中,xxx.h文件已经修改,但是似乎并未生效?

1,查看makefile文件是否包含了这个xxx.h文件。
2,查看xxx.h有没有被指定进入command中。

多线程编程注意什么?

一个显而易见的问题 – 线程回收。举例:a - b;b - c;b - d,a创建b,b创建c和d。
1,如果a是进程,且没有join b,那么a结束后,其创建的线程自动死亡。大乌龙。
2,b join c和d。此时如果a,b中有共同变量,则需要注意数据的同步,否则可能出错。

变量的传入和传出?实际参数 -- 形式参数(入参, 出参)

1,临时变量v。
v作为入参,有个小坑:不能跨线程传递。
v作为返回值,有坑:如果是return返回,没问题,返回值会被拷贝出去。如果是出参返回,有问题,因为实参被拷贝进形参,再作为局部变量使用。修改局部的形参,实参没有改变。
2,指针变量p
p做入参,有坑:如果跨线程传递,变量一定要是malloc出来的。如果本线程传递,可以用临时变量的指针。
p做返回值,有坑:如果是return返回,不能返回临时变量的指针,必须是malloc的。如果是出参返回,注意将内存拷贝到p指向的地方,而不是改变p的指向,因为p本身也是临时变量,改变p不影响实参的p值。注意跨函数的free。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值