调试嵌入式linux应用程序时,出现下述错误:
terminate called after throwing an instance of ‘std::length_error’
what(): basic_string::_S_create
采用在gdb中运行,错误如下: 阅读全文 »
调试嵌入式linux应用程序时,出现下述错误:
terminate called after throwing an instance of ‘std::length_error’
what(): basic_string::_S_create
采用在gdb中运行,错误如下: 阅读全文 »
用VS编写代码时,从word文档中拷贝了一些内容作为注释。编完代码,转到linux上编译时,结果出现了下面一段有点让人丈二和尚摸不到头脑的编译错误:
共享内存是linux进程间通信的一种方式,实现多进程共享变量。应用共享内存时,主要涉及shmget、shmat、shmdt、shmctl四个函数。
此外,可通过ipcs -m来查看linux共享内存使用情况。
下面展示一个本人编写的一应用实例。
前段时间,由于项目需要,产品中需要多增加一路CAN总线接口。CAN总线方案是ATMEL ARM9 + MCP2515。
此前已经有两路CAN总线接口了。以我对linux MCP2515驱动的熟悉,增加一路CAN总线接口的驱动不是难事。另人意外的是,在应用层的使用上,居然碰到了点意外。主要是关于bit-timing not yet defined错误。记录如下。
《Linux CAN编程详解》是一篇百度文库上的文档,主要描述了以下内容:
最近写了个自认为不错的基于linux socket can程序,主要功能:
现把源码进行分享 阅读全文 »
参看基于TCP/UDP的socket代码,同一时间Server只能处理一个Client请求:在使用当前连接的socket和client进行交互的时候,不能够accept新的连接请求。为了使Server能够处理多个Client请求,常见的方法:
多进程/线程方法、non-blocking socket(单进程并发)、non-blocking和select结合使用。三种方法各有优缺点,下面进行详细分析和说明。
最近出差带着的一台笔记本电脑——联想Thinkpad的E430C,让我用着用着非常的不爽。主要的问题是打开几个应用软件后,如虚拟机、Visual Studio 2003、浏览器、word 2010等,电脑就会提示内存不足,以至出现系统崩溃的现象。严重干扰了我的正常工作。
看了本本的配置,还算可以。所以我认为应该是内存不够引起的。
最近使用eclipse新建立了一个工程,编译环境为cygwin-1.7。奇怪的是,在编译程序时总是出现问题:undefined reference to `_WinMain@16’。仔细检查了工程的各项配置,编译问题依旧。
在网上搜索,也找不到相应的问题解决方法。冷静下来,仔细分析问题所在。
在cygwin中编译链接一个程序时,出现了如下错误:
在此之前,开发eCos应用程序时,经常碰到程序挂掉后,串口打印输出一大串让人看不懂的数据。今天才明白,原来这些数据是程序挂掉时的堆栈帧数据(stack frame data)。
通过这些堆栈帧数据可以分析出程序当时的运行状态和定位程序哪里出现了问题。
这就是本文要讲的—backtrace()和backtrace_symbols()函数的使用。
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha |