原创 Ubuntu18.04安裝MySQL服務器

// 安裝mysql服務器 sudo apt install mysql-server // 查看狀態 sudo netstat -tap | grep mysql // 修改配置文件支持遠程訪問(Ubuntu) sudo

原创 vscode寫Qt參考

CMakeLists.txt cmake_minimum_required(VERSION 3.0.0) project(hello VERSION 0.1.0) include(CTest) enable_testing()

原创 deque 容器

摘要自c++手冊 std::deque ( double-ended queue ,雙端隊列)是有下標順序容器,它允許在其首尾兩段快速插入及刪除。 在 deque 任一端插入或刪除不會非法化指向其餘元素的指針或引用 與 std:

原创 通過CE尋找內存基址

隨着場景進行切換,內存地址也隨之發生變化。這種地址是動態的,這種變化在程序中表現爲多級指針。我們可以通過多級指針始終可以找到這個變化的地址,通俗的講就是基址。還是以植物大戰殭屍爲例子,尋找陽光的基址。 開始尋找基址 選擇附加調

原创 WIN動態庫注入(遠線程注入)

所謂動態庫注入是指,將自己編寫的動態庫,通過自己的程序來注入到別的進程中去,然後運行。 原理: 在目標進程,開闢一段內存,然後寫入要注入的動態庫.dll 。然後讓目標運行加載動態庫函數,將該動態庫載入到到進程中,然後運行指定函數,

原创 C語言之指針類型區別

先看一下,指針裏面的九種基本類型。採用16進制進行講解 /* \ brief 我先說一下指針變量的基本特性。 \ 在32位程序中,指針變量大小爲4字節(32位),尋址範圍是 0 - 0xFFFFFFFF \ 在64位程序中

原创 C語言之二叉樹實現

摘選自百度百科的解釋: 在計算機科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用於實現二叉查找樹和二叉堆。 個人理解: 二

原创 C++類與文件包含

有這樣兩個類,分別爲Parent 與 Child 。 想要做到這樣一個效果: class Parent { public: void childDemo(Child* child); // 接收一個子類 } /*-------

原创 C語言之自定義類型指針

對於自定義類型,我舉個字符串拷貝爲例子。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> int main(int argc, char*

原创 驅動 與應用層DeviceIoContro() 通信

驅動代碼 .h文件 #pragma once #include<wdm.h> // 引入內核文件 #ifdef __cplusplus extern "C" { #endif // __cplusplus // 驅動入口

原创 C/C++ extern關鍵字多文件引用變量

extern關鍵字,可以讓變量被多個文件進行引用。 語法要求: demo.h 頭文件 正確使用: 定義然後進行初始化 #pragma once /* \ brief value 定義就要進行初始化,否則就會產生語法錯誤 */ e

原创 ZwQueryValueKey()查詢鍵值使用

直接上代碼 .h文件 #pragma once #include<wdm.h> #define TAG 0x44434241 // 動態內存的標誌 #ifdef __cplusplus extern "C" { #end

原创 Vue 使用Axios 跨域問題

在Vue 項目學習的過程中遇到了,Axios跨域的問題。 有很多這方面的解決博文,但大多都是 vue 3以前的並不適合。 也有Vue3的,但都太難懂了不夠直接、 vue安裝 axios npm install axios

原创 C_可變參數詳解

這個視頻是我自己錄的,講了C語言的可變參數是怎麼實現的。 講解視頻地址 代碼 // C++ author 清晨與貓魚 #include <iostream> #include <string> using namespace s

原创 HlpViewer 單獨打開

1.首先找到安裝所在的目錄 2.創建快捷方式到桌面,在後面加上,對應的vs版本 /catalogName VisualStudio15 完整示例: “C:\Program Files (x86)\Microsoft Help V