原创 [code] OpenGL multi thread

// 說明:demo for 主線程創建/刪除資源,渲染線程使用資源 // 兩者貌似主代碼層面上可以並行,因爲將 MakeCurrent 中的鎖註釋掉也能正常運行 #include <cassert> #include <str

原创 Linux so 文件

Linux程序加載動態鏈接庫的搜索路徑 Linux與Windows都支持動態鏈接庫,Windows下是dll文件,Linux下是so文件, 如果程序執行時沒有找到需要的動態鏈接庫,Windows下會出現提示框,Linux下會提示:

原创 demo code - Multi-thread render in GLX

只創建了一個子線程,專門用於渲染 子線程中打開了另一個 Display, 並在此Display下創建了 opengl context 和 多個Window 子線程有自己的消息循環,因爲Window產生的消息貌似只能由創建Wind

原创 [code] xlib event loop for render

#include <iostream> #include <X11/Xlib.h> #include <X11/XKBlib.h> #include <pthread.h> #include <X11/keysym.h> #inc

原创 C++遺漏知識: 重載函數的值與類型

用C++很久了, 但還是有遺漏的知識點, 觀察如下代碼: void func(){} void func(int){} auto funcHandle = &func 這段代碼無法編譯通過,提示編譯器不能推斷出&func的類型,

原创 疑問列表

C++語法問題 當一個全局的函數被友元在一個處於命名空間的類中時,該如何聲明

原创 emscripten cmake 環境配置

emscripten 在 ubuntu 上的安裝和配置相對比較順利,但在Windows上遇到不少坑 步驟: 1. git clone https://github.com/emscripten-core/emsdk.git 這個r

原创 git

git init 在當前目錄初始化一個git repo 注: 這種方式初始化的目錄與git clone的有區別, 後期需要執行 git remote add origin 遠程url 的方式設定一個 remote, 才能推送, 並

原创 C++重載函數的值與類型

用C++很久了, 但還是有遺漏的知識點, 觀察如下代碼: void func(){} void func(int){} auto funcHandle = &func 這段代碼無法編譯通過,提示編譯器不能推斷出&func的類型,

原创 xlib event loop for render

#include <iostream> #include <X11/Xlib.h> #include <X11/XKBlib.h> #include <pthread.h> #include <X11/keysym.h> #inc

原创 glew first init in GLX

#include <cstdlib> #include <X11/Xlib.h> #include <X11/XKBlib.h> #define GLEW_STATIC #include <GL/glew.h> #includ

原创 OpenGL basic code on Linux in GLX

#include <cstdlib> #include <X11/Xlib.h> #include <GL/glx.h> #include <GL/gl.h> #include <cassert> int main() {

原创 Linux程序加載動態鏈接庫的搜索路徑

Linux與Windows都支持動態鏈接庫,Windows下是dll文件,Linux下是so文件, 如果程序執行時沒有找到需要的動態鏈接庫,Windows下會出現提示框,Linux下會提示: error while loading

原创 go interface 注意點

思考一個問題, 當將一個對象賦值給一個interface時, 發生了什麼, 對象變量與接口變量是引用的同一片內存地址嗎? 關於 go interface的本質是什麼, 網上有說法是一個擁有兩個指針的struct, 一個指向運行時類型, 一

原创 go interface 慣用法

先看關於struct方法 receiver 是對象還是指針的問題 type ISth interface {     getInfo() string } type Person struct {     Name string } f