前几天一个程序老是出现段错误,最后实在找不到地方,用gdb单步,发现问题出现在一个回调函数的pthread_cancel中。这个问题就奇怪了。《Unix系统编程》上说了pthread_cancel没有定义必须检测的错误,而且,当ptherad_cancel(pthread_t thread)时,若thread对应的线程不存在,只是返回ESRCH而已。但是问题是,这里就是因为程序第一次执行,除了主线程外,没有其他线程存在,而且因为这个thread变量是全局变量,应该是被自动初始化为零的。也就是说pthread_cancel(0),会引起段错误。
Tech
24位位图转换为16位位图
前两天因为要测试的系统的屏幕是16位色的,需要5-6-5格式 … 阅读更多
GTK多线程访问界面
最近被GTK的界面死掉问题困扰。GTK本来就不是线程安全的, … 阅读更多
关于termios中的一个小问题
前些天在写一个2410上的串口通信程序的时候,一开校验,数据 … 阅读更多
“Hello”是什么?
以前一直以为在C中“hello“这样的字符串,在程序里的属性 … 阅读更多
S3C4510B的UART
现在开始学习ARM,很长时间没有头绪,今天终于跑通了我的第一个程序——一个UART通信测试程序。心情相当好!