原创 OpenGL02-創建窗口.md

OpenGL窗口 在繪製圖像之前,需要創建一個OpenGL上下文(Context)和一個用於顯示的窗口。這些創建窗口的操作與特定的系統相關,OpenGL將這些操作抽象出來,我們需要自己創建窗口,並定義OpenGL上下文以及處理用戶輸入

原创 OpenGL03-顯示窗口

在windows中,使用GLFW創建窗口的流程如下: 包含頭文件 #include "GLFW/glfw3.h" #pragma comment(lib, "glfw3.lib") 初始化窗口glfwInit() 配置GLFW

原创 SRS源碼分析-連接建立

初始化st協程庫 state-threads協程庫在使用時需要初始化IO複用類型,並初始化。 srs_error_t srs_st_init() { //在linux上設置爲epoll() if (st_set_eve

原创 SRS源碼分析-讀寫類SrsStSocket

關鍵類SrsStSocket封裝了socket的讀寫操作,將負責將數據發送給對端(send)以及讀取對端發送過來的數據(read)。 繼承關係爲: 相關源碼如下: //使用協程的TCP class SrsStSocket : pub

原创 SRS介紹.md

簡介 SRS(Simple RTMP Server)是一款開源的流媒體服務器,使用C++開發,文檔詳細,代碼清晰。官網介紹如下: SRS定位是運營級的互聯網直播服務器集羣,追求更好的概念完整性和最簡單實現的代碼。SRS提供了豐富的接

原创 SRS啓動流程

main函數 main函數所在文件爲main/srs_main_server.cpp中。 該文件定義了一些全局變量: _srs_log:全局的log文件 _srs_context:全局的context文件。是一個SrsThreadC

原创 SRS源碼分析-協程封裝

SRS中使用協程庫state-thread(ST), 在使用時對其進行了封裝,保證使用方便。這種封裝方法和使用thread庫比較類似。 在SRS中,st封裝所在的文件爲:srs_app_ast.hpp/cpp ISrsCoroutin

原创 迭代器概念及traits編程技法.md

前言 迭代器作爲一個抽象概念,在程序設計中並沒有直接對應於這個概念的實物。在設計模式中,iterator模式定義爲:提供一種方法,能使之依序巡防某個容器所含元素,而無須暴露該容器的內部表達方式。 3.1 迭代器設計思維–STL關鍵所在 S

原创 並查集(UnionFind)

爲什麼引入並查集 並查集的引入是爲了解決動態連通問題。在動態連通場景中解決給定的兩節點,判斷它們是否連通,如果連通,不需要給出具體路徑。(而對於要給出具體路徑的問題可以採用DFS). 什麼是並查集 在計算機科學中,並查集是一種樹型的數據結

原创 leetcode 257. Binary Tree Paths

/* leetcode 257. Binary Tree Paths Given a binary tree, return all root-to-leaf paths. For example, given the following

原创 騰訊2017暑假筆試題-查找二叉樹的根

/* 騰訊2017暑假筆試題-查找二叉樹的根 對於一個高度爲k的滿排序二叉樹,給定k和三個數, 找到這三個數的最小根節點 */ #include <iostream> #include <vector> #include <algori

原创 騰訊2017暑假實習筆試題-字符串編碼

/* 騰訊2017暑假實習筆試題-字符串編碼 輸入:16的倍數的字符串 輸出:編碼後的結果 例子 輸入:abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl 輸

原创 大數運算-模擬

對於大數加法,減法和乘法都可以用模擬的方法來解決,對於除法(一直做減法),要使用加法和減法。 大數乘法 /* Leetcode 43. Multiply Strings Given two numbers represented as s

原创 leetcode 111. Minimum Depth of Binary Tree

頭文件在http://blog.csdn.net/charles1e/article/details/56479700 /* leetcode 111. Minimum Depth of Binary Tree Given a binar

原创 leetcode 110. Balanced Binary Tree

頭文件在http://blog.csdn.net/charles1e/article/details/56479700 /* leetcode 110. Balanced Binary Tree Given a binary tree,