原创 FreeSSHD的配置

內含多坑 項目需求:定時將內網的Linux客戶端文件定時上傳到公網阿里雲Windows服務器 使用工具:FreeSSHD 具體過程: 1、FreeSSHD下載地址 http://www.freesshd.com/?ctt=download

原创 Windows CreateEvent函數在多線程中使用及實例

HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName

原创 ofstream基本用法

來源: https://zh.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream   #include <fstream> #include <utility> #includ

原创 大行其道的框架

作爲一名互聯網從業者,需要很清楚的認識到在中國,框架大行其道。 毫無疑問計算機系統的底層是由低級語言編寫的,C。當然,也有相應的標準庫,也就是框架。但是在今天硬件成本越來越低廉、開發速度和成本越來越高,使用簡單便捷的高級語言對業務的重要性

原创 深入理解c格式化輸出

格式化輸出考察了不僅考察各種數據類型的轉換以及你對內存的理解 首先,要很清楚各個不同數據類型的大小,這個做面向對象的基礎 #include <stdio.h> printf("size of int:\t\t[%d]\n", size

原创 SQL中GROUP BY/left join用法示例

SQL中GROUP BY用法示例 原文鏈接:https://www.jianshu.com/p/9f0a49c04bce 概述 GROUP BY我們可以先從字面上來理解,GROUP表示分組,BY後面寫字段名,就表示根據哪個字段進行

原创 C++的回調技術 std::bind+std::function

參考自《Linux多線程服務端編程》以及muduo源碼,對其中的一些實現細節有着十分深刻的印象,尤其是使用std::bind和std::function的回調技術。可以說,這兩個大殺器簡直就是現代C++的“任督二脈”,甚至可以解決繼承時的

原创 如何對C++類進行編寫、封裝

C++與C語言面向過程不同,是面向對象的語言。 面向對象的三大特性:封裝、繼承、多態 什麼是封裝?就是要把類變成像內置類型及其複合形式(數組)一樣,能夠直接初始化、複製、各種運算等等。C++中的面向對象就是怎麼把資源這一類面向過程的資源轉

原创 CMake 致命錯誤:xxx.h 沒有那個文件

以爲是CMake什麼用法錯誤了,原來是頭文件名寫錯了,檢查xxx.h對不對

原创 左值/右值與應用

關於什麼是左值、什麼是右值,可以參考官方定義 https://en.cppreference.com/w/cpp/language/value_category 還有一篇文章 https://zhuanlan.zhihu.com/p/54

原创 TBB簡介和一個簡單的示例

TBB組成 TBB裏的內容大致可以分爲以下幾類: 通用並行算法 這是TBB裏最主要的一大部分,比如示例裏的parallel_for就是這部分的一個算法 TBB提供了parallel_for,parallel_while,parallel_

原创 基於epoll的併發服務器編程

這一篇文章主要是理清服務器和客戶端的建立通信的流程,整個通信是在網絡層(即ip協議以及其上的傳輸層和應用層)。不明白的話需要先了解網絡7層模型、對應的報文格式和不同層的封裝。 下面主要圍繞圖11-14講述並深入探討 服務器 socket

原创 std::thread的join和detach

C++中的thread對象通常來說表達了執行的線程(thread of execution),這是一個OS或者平臺的概念。 thread一旦創建,就開始執行,並且與創建它的線程有一定的關係。 thread創建後,需要在調用線程中需要指明是

原创 計算機的快速 二進制運算

對一個數判斷是否爲2的冪 size & (size - 1) true說明不是2的冪,false說明是2的冪。2的冪有一個特點,就是隻有一個1,其他都是0.而2的冪-1就會除了高位和它本身那位爲0,其他的都爲1. k對size取模運算(取

原创 C/C++字符串分配空間

字符串分配位置。 const char* global_str = "abc.global"; int main() { const char* local_str = "abc.dd"; char array_str[] =