原创 獲取線程獨有數據方法 (POSIX標準方法)

static pthread_once_t current_thread_data_once = PTHREAD_ONCE_INIT; static pthread_key_t current_thread_data_key;  

原创 Qt 用法使用注意事項 (長期更新)

1. 不要阻塞Qt的事件處理函數,某些個別特殊的除外!(比如:contextMenuEvent) 原因: 阻塞Qt的事件處理函數,可能導致當前事件的後續的事件處理流程錯誤。

原创 Qt 日誌打印系統用法說明

寫應用程序免不了需要使用日誌來記錄或者調試一些信息,Qt一個這麼大的框架,當然免不了集成了一套日誌輸入的框架,那就是QLoggingCategory 。 廢話不多說,直接說用法: 可能常用的qDebug() qWarning等,但是不推薦

原创 Qt quick模塊的Qt4到5的遷移

由於Qt5模塊組合上和Qt4有了較大的改變,一些模塊Qt4有但是Qt5已經沒有了,但是有替代的模塊,爲了方便代碼的遷移,記錄這個網站: https://doc.qt.io/qt-5/qtquick-porting-qt5.html 詳細請

原创 編譯weston fb後端最小依賴配置命令

./autogen.sh --disable-egl --disable-x11-compositor --disable-drm-compositor --disable-wayland-compositor --disable-hea

原创 values.h 替換爲 float.h

values.h is an old UNIX standard file it was documented in issues 1 and 2 of the X/Open Portability Guide. float.h was

原创 Wayland協議解析 二 Wayland中的數據結構解析

爲了更好的學習wayland,我們可以先學習wayland中定義的一些數據結構.因爲貫穿wayland的所有東西都是基於這些數據結構.   首先介紹wl_array struct wl_array { /** Array size */

原创 wayland數據結構之wl_array

struct wl_array { /** Array size */ size_t size; /** Allocated space */ size_t alloc; /** Array data */

原创 Qt學習記錄八

在移植Qt的過程中,經常出現加載插件失敗,可以通過添加以下的環境變量,打印更多錯誤信息,來解決問題: QT_DEBUG_PLUGINS=1

原创 通過宏把數字版本號轉換成字符串版本號

#define MAJOR 1#define MINOR 1#define PATCH 1#define NUM2STR(num) #num#define VERSTR4NUM(ma,mi,pa) NUM2STR(ma)"."NUM2ST

原创 Wayland 協議解析工具代碼(Qt 將wayland協議轉換爲C++接口,我把函數功能也識別進去,更方便通過生成的文件閱讀wayland協議)

/******************************************************************************** Copyright (C) 2015 The Qt Company Ltd

原创 Wayland協議解析

Wayland協議解析 一 什麼是Wayland Wayland協議解析 二 Wayland中的數據結構解析 Wayland協議解析 三 Wayland的工作原理 Wayland協議解析 四 Wayland的所有接口 Wayland協議解

原创 Wayland協議解析 三 Wayland的工作原理

首先,需要了解wayland的工作原理,需要了解幾個其他的內容。 int mkstemp(char *template); // 創建臨時文件 (標C接口) long int strtol(const char *nptr,char **

原创 dlopen 打開依賴本應用程序的某些函數的庫時的注意事項

原文地址: http://blog.csdn.net/lp525110627/article/details/53148605 一、“--export-dynamic”參數的使用 GCC編譯可執行文件時可以使用-Wl,--e

原创 程序異常處理

#include <stdio.h> #include <signal.h> #include <stdlib.h> // 異常信號處理函數 void errHandle(int sig) {     // 信號發生了     prin