C++数据开放平台实战,手把手教你做工业级项目[完结22章]

kaudmands · · 458 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

学习资料1:https://pan.baidu.com/s/15uq-LwUVJxq87xlOh1cuAQ 提取码: fxnk 学习资料2:https://share.weiyun.com/Av8n5sen 密码:rda6fw 本文给大家讲解几个C++的项目课程: 一、C++ 实现太阳系行星系统 项目使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、OpenGL 里的光照模型、GLUT 的键盘事件处理。 项目涉及的知识点: C++ 语言基础 基本的 Makefile 基本的 OOP 编程思想 OpenGL GLUT 的结构基本使用 二、C++实现运动目标的追踪 这个项目是在前面一个项目的后续项目,利用 OpenCV 来实现对视频中动态物体的追踪。 项目涉及的知识点: C++ 语言基础 g++ 的使用 图像基础 OpenCV 在图像及视频中的应用 Meanshift 和 Camshift 算法 本次实验要实现的效果是追踪太阳系中运动的行星(图中选择了浅绿颜色轨道上的土星,可以看到追踪的目标被红色的椭圆圈住) 三、C++ 实现银行排队服务模拟 项目使用 C++对银行排队服务进行模拟,以事件驱动为核心思想,手动实现模板链式队列、随机数产生器等内容,进而学习概率编程等知识。作为可选进阶,这个模型同时还能稍加修改的应用到 CPU 资源争夺模型中。 项目涉及知识点: OOP 编程思想 std::rand() 函数原理 概率编程 排队理论 链式队列数据结构及其模板实现 事件驱动的设计 蒙特卡洛方法 CPU 资源争夺模型 时间片轮转调度 四、可以用几种方法创建 Visual C++ 项目: 可以使用项目模板(如 如何:创建 CLR 控制台应用程序 (C++/CLI))帮助你快速创建简单的项目。 你还可以使用应用程序向导来帮助你创建解决方案。解决方案可以包含许多项目,并且可以用 Visual Studio 附带的任何语言来编写。Visual Studio 开发环境可以处理项目之间的依赖项、单个项目的配置、项目部署和源代码管理。这种方法非常适用于较大型的应用程序。 你可以创建简单的文本文件,然后用 .cpp 扩展名保存它。使用 Win32 应用程序向导 创建一个空项目。将 .cpp 文件添加到 Visual Studio 环境中。此方法很适合非常简单、控制台样式的应用程序。 创建了项目后,可以使用代码向导和属性页管理项目的具体细节来管理它。 五、先决条件 设置适用于跨平台 C++ 开发的 Visual Studio 首先,安装 Visual Studio,然后选择“使用 C++ 的桌面开发”和“使用 C++ 的 Linux 开发”工作负载。 此最小安装仅为 3 GB。 根据下载速度,安装不应超过 10 分钟。 设置适用于跨平台 C++ 开发的 Linux 计算机 Visual Studio 不需要任何特定的 Linux 发行版。 OS 可在物理计算机上、VM 或云中运行。 也可以使用适用于 Linux 的 Windows 子系统 (WSL)。 但是,在本教程中,需要一个图形环境。 不建议在此处使用 WSL,因为它主要用于命令行操作。 Visual Studio 在 Linux 计算机上需要这些工具:C++ 编译器、gdb、ssh、rsync、make 和 zip。 在基于 Debian 的系统上,可以使用此命令安装这些依赖项: sudo apt install -y openssh-server build-essential gdb rsync make zip Visual Studio 需要有已启用服务器模式(至少为 3.8)的 Linux 计算机上的最新 CMake 版本。 Microsoft 生成可以在任何 Linux 发行版上安装的通用 CMake 版本。 建议使用此版本以确保拥有最新功能。 可从 GitHub 上的 CMake 存储库 Microsoft 分支获得 CMake 二进制文件。 转到该页面并下载与 Linux 计算机上的系统架构匹配的版本,然后将其标记为可执行文件: wget <path to binary> chmod +x cmake-3.11.18033000-MSVC_2-Linux-x86_64.sh 六、CppNet CppNet一个封装在 TCP 协议上的 Proactor 模式 multi-thread 网络库。包含 OS 接口调用、回调处理、定时器、缓存管理等,这里有从操作系统到应用层的所有网络细节,便于初学者学习和实践。 简单:只导出了最少量的接口,其声明都类似系统 socket API。对客户端而言,只新增了一个 buffer 类型 快速:采用性能最优的 epoll 和 IOCP 做事件驱动。每个连接都独享一个内存池,从内存池中申请的内存都由智能指针管理 清晰:结构上分为事件驱动,会话管理,接口三层,通过回调向上通知。模块之间职责分工明确,最大的类不超过 500 行代码

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

458 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传