5
|
Brent Writes Code · 技术社区 · 14 年前 |
![]() |
1
4
好吧,所以我设法找到了这个问题。我无法在我最初开发代码的Mac OS X 10.5.8上重新创建这个问题。分割错误似乎只出现在Redhat Enterprise Linux 5上。 原来这段代码就是罪魁祸首:
我希望我能解释一下 为什么? 分段错误正在发生,但我发现不断启用和禁用文本对象是罪魁祸首。如果我将上述代码更改为:
当我移除
我提出的解决方案是保持文本字段处于启用状态,但会导致文本字段忽略所有键盘输入(因此,如果用户尝试使用键盘,则会产生只读行为的假象)。最简单的方法是改变
希望能帮助遇到同样问题的人。 |
![]() |
2
3
我假设这是一个更大的线程程序的一部分。 不要使用锁,而是让代码写入线程安全队列对象。然后,在主线程中,您轮询队列并写入文本小部件。您可以使用事件循环(而不是编写自己的循环)进行轮询,方法是运行轮询作业,该作业将自己重新安排为在几毫秒后运行(几百毫秒可能足够)。 |
![]() |
CH_YUR · 为什么这段代码有分段错误? 2 年前 |
![]() |
Okonjo Mitchel · CS50凯撒:分段故障问题 2 年前 |
![]() |
Drin Kurtishi · cs50在线课程中凯撒问题集的问题 3 年前 |
![]() |
DynamicApproach · 提取exec函数的参数 3 年前 |
![]() |
Horcrux7 · 如何使用jffi/jnr处理SIGSEGV? 3 年前 |
![]() |
J.Doe · 向函数传递双指针以获取C中的字符串 6 年前 |