CMake 项目模块化布局

在 C\C++ 项目中,通常会有不止一个可执行程序,或者需要将一些调用封装成动态或静态库,来实现项目的模块化,本文就讲解一种支持这种项目布局的方法。

CMake 支持子目录构建(add_subdirectory 指令),本文介绍的布局方法就是基于这个功能来实现。

Shell中高效分割字符串

通常来说,使用 shell 脚本时候不需要太顾及程序的效率性,能完成任务,只要不是太慢,都可以接受。

但在一些特定应用场合,脚本效率也是一个硬性限制,不能耗时太久,比如说,用 shell 来编写一些处理 HTTP 请求的 CGI 程序,脚本的执行效率直接影响了 HTTP 的响应速度。

在 shell 中分割字符串有多种方法,比如利用 awk、cut 工具,还有内置方法,虽然效果相同,但是执行效率差距较大,尤其在处理大数据量上更是显著。

Freescale Yocto 编译自定义 Linux 系统镜像

Yocto Project 是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。

下面来以 Freescale 的 i.MX6UL 开发板为例,详细叙述如何搭建 Yocto 环境以及 Linux 镜像的定制编译和烧录。

32feet.net 蓝牙虚拟串口编程

Windows 上的蓝牙编程并不方便,由于操作系统并没有提供统一的蓝牙操作接口,通常是由各个蓝牙设备商提供蓝牙栈,所以要想编程兼容这些不同的厂商蓝牙是一个问题。好在有个软件项目 32feet.NET 针对主流蓝牙协议栈提供了支持,包括 Microsfot, Widcomm, BlueSolei 等,同时还支持红外传输协议。

蓝牙虚拟串口是一个较为常见的需求,为了兼容已有使用串口设备的程序,需要将蓝牙连接转为系统上的虚拟串口,然后提供给其他程序或库使用。32feet.NET 对此也提供了支持。

远程调试C#程序环境的配置

远程调试适用于需要在本机调试在其他 Windows 设备上运行的程序,典型的比如调试 Surface 上的程序。

目标 Windows 主机不具备安装 Visual Studio 开发环境条件的,也可以用远程调试来进行调试。

中软统一终端加密文件解密

背景不提,通过搜索能看到这篇文章的,请彼此保持同情。

中软统一终端这个软件通过网内文件加密存储,使用时自解密,保证一个局部网络的资料安全性,防止泄漏,主要用于密级文档、源代码和工程图纸的管控。

听起来很高大上,但是在文件加密解密这条策略链上,漏洞是很多的,在具体部署上,漏洞就更多了。下面介绍一下如何利用策略漏洞解密被加密的文件,这里主要针对源代码,其他文档类似。

添加可执行程序到 Path 中

将一个程序加入到环境 Path 中,通常做法是将程序文件所在目录附加到系统或者用户的 Path 变量中,这样我们在任何路径下的命令行中,都可以调用该程序工作。大部分应用程序安装过程中的做法也是如此。