• 浅谈C++初始化

    失望,迷茫。

    C++中广义的对象,既可以是内置类型,也可以使自定义类型。对象的初始化并没有看起来那么简单,这里面的存在不少容易犯错的地方,下文会一一讲解。

  • C++未定义行为

    衡量一个人是否真正活着的根本方法,就是看他是否有意愿、有能力做出主动的选择。

    在计算机程序设计中,未定义行为(undefined behavior)是指行为不可预测的计算机代码。这是一些编程语言的一个特点,最有名的是在C语言中。在这些语言中,为了简化标准,并给予实现一定的灵活性,标准特别地规定某些操作的结果是未定义的,这意味着程序员不能预测会发生什么事。

  • gRPC初识——同步单向gRPC

    复利效应

    gRPC是Google开源的RPC框架,拥有高性能、跨语言等诸多优点。gRPC官方网站为grpc.io。鉴于官网的介绍较为混乱,并且其教程并不完善易懂,故而这里做一个简单的整理,希望一起成长。

  • MySQL初识

    记不住过去,看不透未来——失败。

    MySQL基础知识点罗列,帮助理清思路,主要包含安装、基本操作、MySQL约束、C/C++库使用等知识点。

  • 视频会议中的音视频处理技术(Media Foundation)

    在视频会议中,最基础的的部分应该就是音视频数据的处理了。对于音视频数据的处理,主要是在客户端,涉及到音视频采集、编解码、视频渲染等相关技术。

  • 使用CMake构建Qt5工程指南

    下辈子,我要成为太阳。

    由于项目需求,需要使用一个GUI界面来操作音视频,选择使用Qt来实现这个简单的界面。由于项目需要跨平台,采用CMake来构建工程,所以Qt工程的构建也需要采用CMake。

  • 头文件中定义变量

    群体人性泯灭。

    有时候需要在头文件中定义一些变量,需要注意一些点来避免重复定义的错误。

  • 如何给应用程序加版本信息

    如果某个想法是你唯一的想法,再也没有比这个更危险的事情了。

    右键应用程序的可执行文件,查看详细信息,能够看到应用程序的详细描述,这是怎么加的呢?

  • C++并发编程2——为共享数据加锁

    找到问题的解决办法,而不是找蹩脚的接口。

    在应届生面试的时候,很多面试官都会问——“多线程如何共享资源”。在操作系统层面上可以给出若干关键词答案,但是在语言层面,这个问题考虑的就没有那么简单了。

  • C++并发编程1——让我们开始管理线程

    全体动物皆属平等,
    但有些动物比其他动物更加平等。

    乔治·奥威尔动物农庄

    从本文开始,我们会学习到线程的基本使用方式,本文是多线程开发的基础。

/5