C++到底要怎么写

2017-12-14 16:27:15 +08:00
 racecoder

各种莫名其妙的访问冲突,加上 Sleep();后就好了,时间也不一定相等,有的 50 就够了,有的要 200。虽然一两个没什么感觉,但是多了感觉程序好慢。

想起了 C++从入门到放弃,我现在好难受。。。

4515 次点击
所在节点    C
44 条回复
whypool
2017-12-14 16:46:17 +08:00
C 加加
exch4nge
2017-12-14 16:47:57 +08:00
LZ 找安慰的话,告诉楼主 C++ 算是我从零开始到基本入门用的时间最长语言,还是比较难学的,楼主加油。
LZ 如果想解决具体问题,可以把具体情况写出来,只听描述无法给什么技术上的建议。
acgnsstech
2017-12-14 16:48:56 +08:00
建议学 Q#
kirigaya
2017-12-14 16:56:14 +08:00
多线程编程?
sbw
2017-12-14 16:56:45 +08:00
访问冲突是什么,data race ?
DOLLOR
2017-12-14 16:59:06 +08:00
Rust 欢迎你
kexming250
2017-12-14 16:59:31 +08:00
具体问题?
owenliang
2017-12-14 17:03:29 +08:00
学生党不踏实学习,竟然"sleep"。
wevsty
2017-12-14 17:05:03 +08:00
访问冲突?
是 VS 调试的时候提示的?那多半是你的代码有堆栈溢出或者错误使用了已经释放的资源之类的问题。
多线程开发是比较容易遇到这样的问题的,仔细检查代码和仔细调试吧。
lfmy
2017-12-14 17:05:05 +08:00
花时间好好理一下,基本都能解决
racecoder
2017-12-14 17:07:02 +08:00
@exch4nge 谢谢,就是有点难受,感觉付出回报不成比例,越学越不会。
@kirigaya 应该是吧,不是很清楚
@sbw 我不知道 data race 是什么,其中一个具体点的例子就是 opencv 的方法读取一张图片,然后用第三方库提取图片中的特征值。读取完立刻调用提取方法的话,vs2015 中就会停止运行,提示访问冲突,debug 也看不到。参数只有两个未初始化的变量指针,一个 cv:Mat。但是停 200ms 就正常运行了。
@kexming250 见上
HarrisonZ
2017-12-14 17:08:11 +08:00
golang 欢迎你
besto
2017-12-14 17:10:40 +08:00
@racecoder 加 sleep 能解决的问题,和语言没有任何关系。
如果是硬件相关的 case,有时候硬件设置寄存器之后确实需要 sleep 一小会。
像这种软件的 case,优先考虑这个方法是不是同步的,读读 API 文档怎么说的,别 API 是个 AIO 的,放进去当然立刻就返回了。
liuminghao233
2017-12-14 17:10:43 +08:00
能用 sleep 处理线程同步的一般都是大佬
cabing
2017-12-14 17:14:05 +08:00
消灭--指向无效单元的指针。

可以画个图锊一下逻辑。debug 跟踪下~~

访问冲突 有没有使用 namespace 第三方包?特别是 c 的库~~
fcten
2017-12-14 17:14:10 +08:00
需要加 sleep 一般都是涉及到异步操作,初学者觉得加个 sleep 就好了,其实只是减小了冲突发生的几率
这锅 c++不背,先学好基础吧……
gamecreating
2017-12-14 17:15:14 +08:00
Sleep????????那你还是好好学学吧
zj299792458
2017-12-14 17:16:32 +08:00
听着像是加个锁就能解决的东西。
racecoder
2017-12-14 17:20:42 +08:00
@besto api 写的很简单,就说了怎么用,然后有个 demo。不过应该不是 api 的问题,毕竟提取特征的方法在好几个地方用到了,却只有固定的一处会出异常。
@liuminghao233
@fcten 没有让 C++背锅啊,只是觉得代码好难写啊
besto
2017-12-14 17:24:13 +08:00
@racecoder 没 code,没 API,没真相。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/414747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX