前言
源码面前,了无秘密。而研究源码最有效的方式就是Debug。能够在现代的IDE里面调试程序无异于如虎添翼,能够帮助阅读者更快更有效的学习源码。依稀记得当初在gdb下面调试Redis源码的黑暗时期(gdb强大但是使用不是很方便)。
2024年08月06日
前言
源码面前,了无秘密。而研究源码最有效的方式就是Debug。能够在现代的IDE里面调试程序无异于如虎添翼,能够帮助阅读者更快更有效的学习源码。依稀记得当初在gdb下面调试Redis源码的黑暗时期(gdb强大但是使用不是很方便)。
2024年08月06日
我们建议初学者始终在一个IDE环境中进行C/C++的编程练习,这些IDE环境充当着构建工具的角色。以Qt Creator为例,其.pro项目文件存储了项目的全部配置信息,包括源代码文件、头文件、用户界面文件、数据文件、资源文件的组成和位置,文件之间的依赖关系和编译顺序,项目编译和调试的参数等信息。当用户试图构建一个应用程序时,IDE环境会调用gcc或者其它编译器及工具来完成相关任务,极大地简化了操作难度。
2024年08月06日
OpenVINO是Intel推出的计算机视觉深度学习推理加速库,支持Intel CPU, 核心显卡,VPU和FPGA。前三篇文章分别介绍了OpenVINO的环境搭建、重要文件、目录、环境变量, 以及人脸特征提取SDK的开发。
人脸识别的完整流程主要包括人脸检测(人脸位置定位),人脸特征提取和人脸特征检索三个阶段。
2024年08月06日
你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作。
2024年08月06日
与 HTTP(超文本传输协议)同样是一个基于 TCP 的 Real Time Messaging Protocol(实时消息传输协议)。由 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的一种开放协议 。在国内被广泛的应用于直播 领域。HTTP 默认端口为 80,RTMP 则为 1935。 我们通过阅读 Adobe 的协议规范,通过与服务器建立 TCP 通信,根据协议格式生成与解析数据即可使用 RTMP 进行 直播。当然我们也可以借助一些实现了 RTMP 协议的开源库来完成这一过程。
2024年08月06日
CMake 是一个跨平台的项目构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出 Makefile 或者 vs项目文件,CMake 并不直接建构出最终的软件,而是产生标准的建构档(如 Makefile 或 vs项目文件)
2024年08月06日
这篇文章主要介绍 CMake 的使用,看完这篇文章后,CMake 的绝大多数使用方法你都能掌握。本篇文章采用循序渐进的方法带你一步步逐渐进阶 CMake,通过多个示例,告诉你如何使用 CMake 解决常见的构建系统问题。
2024年08月06日
在项目结构复杂的情况下,通过gcc/g++命令进行直接编译会带来很大的不便,因此使用Makefile构建工具。
通用构造工具
(Makefile)、CMake(CMakelists)
2024年08月06日
CMake是一个跨平台的、开源的构建工具。cmake是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量。目前很多开源的项目都可以通过CMake工具来轻松构建工程,例如博客之前分享的openHMD、hidapi、OSVR-Core等等,代码的分享者提供源代码和相应的Cmake配置文件,使用者就可以非常方便的在自己的电脑上构建相应的工程,进行开发和调试。
2024年08月06日
设计一个C++项目的结构时,需要考虑多个方面,包括代码组织、模块化、可维护性、可扩展性和编译管理。以下是一个逐步设计C++项目结构的指南: