摘要: 当你需要创建许多窗口时,你很快就会发现它们会变得难以管理。Panel library提供了很好的解决方案。 Panel 实际上是一个窗口,通过容器 - 栈 来管理,栈顶的 panel 是完全可见的,其它 panel 的位置决定了是否可见。 创建 panel 的基本流程如下: 1. 使用 newwin 阅读全文
posted @ 2016-08-03 11:46 Kjing 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 前面介绍过标准屏幕 stdscr, stdscr 只是 WINDOW 结构的一个特例。 我们可以使用函数 newwin 和 delwin 来创建和销毁窗口 newwin 函数的作用是创建一个新窗口,该窗口从屏幕位置(start_y,start_x)开始,行数和列数分别由参数 num_of_lines 阅读全文
posted @ 2016-08-03 10:54 Kjing 阅读(1694) 评论(0) 推荐(1) 编辑
摘要: curses 函数库提供了终端无关的方式来编写全屏幕的基于字符的程序。curses 还可以管理键盘,提供了一种简单易用的非阻塞字符输入模式。 curses 函数库能够优化光标的移动并最小化需要对屏幕进行的刷新,从而也减少了必须向字符终端发送的字符数目。 curses 函数库有多种不同的实现版本。Li 阅读全文
posted @ 2016-08-02 10:41 Kjing 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 摘自《C++编程剖析》 输出 为什么会这样?只可以使用 operator[]()(或 at())去改动那些确实存在于容器中的元素。 v.reserve(2) 仅仅保证 vector 的容量至少为 2,并不会创建元素。而 v[0] = 1; 也不会创建第一个元素。只是恰好 v[0] 简单返回了用于存放 阅读全文
posted @ 2016-07-25 13:54 Kjing 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 摘自《Linux 环境编程:从应用到内核》 在 Linux 中,目前的线程实现是 Native POSIX Thread Library,简称 NPTL。在这种实现下,线程又被称为轻量级进程(Light Weighted Process),每一个用户态的线程,在内核中都有一个调度实体,也拥有自己的进 阅读全文
posted @ 2016-07-19 13:15 Kjing 阅读(2298) 评论(0) 推荐(0) 编辑
摘要: 摘自《Effective STL》第32条 remove的声明: 如同所有的算法一样,remove 也需要一对迭代器来指定所要进行操作的元素区间。它并不接受容器作为参数,所以 remove 并不知道这些元素被存放在哪个容器中。并且,remove 也并不能从迭代器推知对应的容器和容器类型。 唯一可以从 阅读全文
posted @ 2016-06-24 10:21 Kjing 阅读(12002) 评论(1) 推荐(2) 编辑
摘要: 摘自《Effective STL》第9条 对于连续内存的容器(vector、deque 或 string),那么最好的办法是使用 erase-remove 的习惯用法: 对于 list,使用 list 的成员函数 remove 更加有效 对于关联容器(set、multiset、map、multima 阅读全文
posted @ 2016-06-23 13:20 Kjing 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 《Effective STL》第3条 当往容器中保存对象时,保存的并不是提供给容器的那些对象,而是那些对象的拷贝。 如何拷贝?利用的是对象的拷贝构造函数。 成功执行,输出 编译会帮忙生成拷贝构造函数 如果禁用拷贝构造函数 编译时会报错 如果自己定义了拷贝构造函数 执行输出: 执行了自己定义的拷贝构造 阅读全文
posted @ 2016-04-23 14:36 Kjing 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 制作一个共享库 main.c 如果在 func 前面加上 在编译 main 时,报错: 如果在编译动态库时加上 -fvisibility=hidden,表示动态库的符号都是 hidden的 在函数前加上 __attribute__((visibility("default"))) 可以使函数对外可见 阅读全文
posted @ 2016-04-16 16:17 Kjing 阅读(946) 评论(0) 推荐(0) 编辑
摘要: GNU 编译器(GCC)提供了很多 C 语言扩展,编译器会使用该信息生成更高效的机器代码。 内联函数 避免内联 纯函数 返回值只受函数参数或 nonvolatile 全局变量影响。 常函数 常函数是一种严格的纯函数。常函数不能访问全局变量,参数不能是指针类型。因此,常函数的返回值只和值传递的参数值有 阅读全文
posted @ 2016-04-16 15:18 Kjing 阅读(1480) 评论(0) 推荐(0) 编辑