现在位置: 首页 > 自动控制 > 工业·编程 > 文章
先贴一段fltk的官网介绍: FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK是一套适用于unix/linux、windows和macos的跨平台c++界面库,尺寸精简,具有现代GUI功能,支持OpenGL,内置glut FL...
阅读全文
2016-07-22 23:11 工业·编程 ⁄ 共 16549字 暂无评论
1.       GDB与GCC等其他GNU工具以前,构成了程序开发调试不可缺少的一环. 2.       GDBSERVER源码架构如下: a)         Gdbserver代码简单,本身支持serial或tcp连接 b)         源码位于 gdb/gdbserver下 c)         Server.c...
阅读全文
2016-07-21 23:08 工业·编程 ⁄ 共 882字 暂无评论
  在调试程序的过程中,查看程序的函数调用堆栈是一项最基本的任务,几乎所有的图形调试器都支持这项特性。       GDB调试器当然也支持这一特性,但是功能更加灵活和丰富。       GDB将当前函数的栈帧编号为0,为外层函数的栈帧依次加1,这些编号将成为一些GDB命令的参数,以指明将要操作的是哪一个函数的栈帧。       GDB还支持使用Address...
阅读全文
2016-07-20 23:05 工业·编程 ⁄ 共 2912字 暂无评论
    在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性。       一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE更加灵活和快捷。       GDB之所以能够知道对应的源代码,是因为调试版的可执行程序中记录了源代码的位置;因为源代码的位置在编译之后可能会移动到其它地...
阅读全文
读写锁是把共享资源的访问分为读者和写者。读者能共享访问,写者能进行写操作.很明显这个比简单的互斥访问要好很多。提高性能效率我的理解是在设计上遵循以下原则 1.锁的深度 范围 2.多线程对共享资源访问的频率 次数 3.让访问尽量可控。 读写锁我觉得就是让这种访问可控. 一、读写锁的特征   1.当读写锁是写加锁状态时, 在这个锁被解锁之前, 所有试图对这个锁加锁的线程都会被阻塞.   2.当读写锁在读加锁状态时, ...
阅读全文
2016-07-18 22:53 工业·编程 ⁄ 共 917字 暂无评论
互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒 自旋锁:spinlock,在任何时刻同样只能有一个线程访问对象。但是当获取锁操作失败时,不会进入睡眠,而是会在原地自旋,直到锁被释放。这样节省了线程从睡眠状态到被唤醒期间的消耗,在加锁时间短暂的环境下会极大的提高效率。但如果加锁时间过长,则会非常浪费CPU资源 读写锁:rwlock,区分读和写,...
阅读全文
2016-07-17 22:47 工业·编程 ⁄ 共 1481字 暂无评论
一、gdb简介 gdb:GNU debugger UNIX及UNIX-like下一个强大的命令行的调试工具 gdb调试的整体架构如下图所示: 可以发现gdb调试不管是本地调试还是远程调试,都是基于ptrace系统调用来实现的 二、ptrace ptrace系统调用的原型: long ptrace(enum __ptrace_request request, pid_t pid,void *addr,void *data); ptrace系统调用提供了一种方法,让父进程可以观察和控制其它进程的执行,检查和改变其核心映像及寄存...
阅读全文
2016-07-16 22:44 工业·编程 ⁄ 共 2025字 暂无评论
二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie来辨认使用者,以方便送出使用者量身定做的内容,像是 ...
阅读全文
文章目录 一、死锁的定义 三、如何避免死锁 一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 下面我们通过一些实例来说明死锁现象。 先看生活中的一个实例,2个人一起吃饭但是只有一...
阅读全文
2016-07-14 22:33 工业·编程 ⁄ 共 5658字 暂无评论
在对嵌入式进行调试之前,必须要生成调试器。经典地,Linux平台下的调试器为gdb。 1、下载gdb: 下载地址为: http://www.gnu.org/software/gdb/download/ 按照一般的想法,最新版本越好,因此下载7.2这个版本。当然,凡事无绝对。 我们以gdb-7.2.tar.bz2 这个文件为例。 2、解压缩: $ tar jxvf gdb-7.2.tar.bz2 注:小技巧:Linux下一般压缩文件后缀为.tar.bz2和.tar.gz,它们解压...
阅读全文