Linux Socket 传输 Leap Motion 数据示例

这是一个简单的在 Linux 环境下使用 TCP/IP 传输数据的小例子,分为 Server 端和 Client 端,Server 端将 Leap Motion 处理后的数据传送给 Client 端。
Linux Socket 部分参考自 红薯 分享在开源中国的例子:Linux Socket 编程实例(一个Hello World程序)
Leap Motion 部分使用的是官方提供的 Sample 程序。

思路

1.TCP/IP 需要先初始化,使用代码进行端口绑定和监听。这部分代码可添加到 Leap Motion 监听类的初始化函数onInit()中。
2.TCP/IP 中循环接收数据的部分可添加到 Leap Motion 的onFrame()中。
3.在 Leap Motion 监听类退出时onExit(),因同时关闭 Socket 的监听进程。
4.将 Leap Motion 处理后的整型数据通过stringstream作为中转,最后转换为char *型,送入缓冲区,发送。
5.Client 端接收到的为char *型,可通过字符串截取的方式取出数据并转换为整型。(该部分代码并未给出。)
Continue Reading…

Linux Programming, Language C 3 – MAKE

上两篇我们讲了GCC编译器、GDB调试器,现在我们讲讲MAKE。

GNU MAKE

在软件开发中,make是一个工具程序(Utility software),经由读取叫做“makefile”的文件,自动化建构软件。
它是一种转化文件形式的工具,转换的目标称为“target”;与此同时,它也检查文件的依赖关系,如果需要的话,它会调用一些外部软件来完成任务。它的依赖关系检查系统非常简单,主要根据依赖文件的修改时间进行判断。大多数情况下,它被用来编译源代码,生成结果代码,然后把结果代码连接起来生成可执行文件或者库文件。
它使用叫做“makefile”的文件来确定一个target文件的依赖关系,然后把生成这个target的相关命令传给shell去执行。

它的作用功能和集成开发环境是一样的。
Continue Reading…

Linux Programming, Language C 2 – GDB

我们在上一篇提到了GNU编译器 – GCC。
GCC用于编译程序,而Linux的另一个GNU工具gdb则用于调试程序。

GDB调试器

GNU侦错器(GNU Debugger,缩写:GDB),是GNU软件系统中的标准侦错器,此外GDB也是个具有移携性的侦错器,经过移携需求的调修与重新编译,如今许多的类UNIX操作系统上都可以使用GDB,而现有GDB所能支持除错的编程语言有C、C++、Pascal以及FORTRAN。
GDB具备各种侦错功效,能针对计算机程序的运行进行追踪与警告,使用GDB的除错人员可以监督及修改程序的内部变量值,甚至监督与修改独立于主程序运作外,以独立个体型态调用(调用使用)的函数。

和所有常用的调试工具一样,gdb提供了以下功能:
1.监视程序中变量的值
2.在程序中设置断点
3.程序的单步执行

和GCC一样,GDB也是用命令来完成的。
Continue Reading…