原创 客戶端到服務器的通信過程

客戶端到服務器的通信過程 認識socket socket的英文原意爲:孔、插座。當然作爲進程通信機制,取插座的意思。通常也稱作“套接字”,用於描述IP地址和端口,是一個通信鏈的句柄。(其實就是兩個程序通信用的) socket非常類

原创 Linux系統下-Wall與-Werror的作用

-Wall 打開gcc的所有警告,詳細查錯 -Werror,它要求gcc將所有的警告當成錯誤進行處理

原创 進程間通信(二)

上文鏈接:進程間通信(一) 續進程間通信 三、消息隊列 消息隊列是消息的鏈接表,存放在內核中,一個消息隊列由一個標識符(即隊列ID)來標識。 1、特點 1)消息隊列是面向記錄的,其中的消息具有特定的格式以及特定的優先級; 2)消息

原创 聯合體

聯合體 聯合體union,即共用體 聯合體與結構體不同之處 “聯合”與“結構”有一些相似之處。但兩者有本質上的不同。 在結構中各成員有各自的內存空間,一個結構體變量的總長度大於等於各成員長度之和。而在“聯合”中,各成員共享一段內存

原创 什麼是gcc

啥是gcc Linux系統下的GCC(GNU C Compiler)是GNU推出的功能強大、性能優越的多平臺編譯器,是GNU的代表作品之一。gcc是可以在多種硬體平臺上編譯出可執行程序的超級編譯器,其執行效率與一般的編譯器相比平均

原创 虛函數與純虛函數

虛函數 定義:在某基類中聲明爲 virtual 並在一個或多個派生類中被重新定義的成員函數, 用法格式爲: virtual 函數返回值類型 虛函數名 (形參表) { 函數體 } 實現多態性,通過指向派生類的基類指針或引用

原创 stm32f103點亮led

stm32f103RC 用keil5編寫程序,該程序點亮藍燈 #include "stm32f10x.h" int main(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC

原创 編譯優化的特點

程序的完整編譯過程分爲是:預處理,編譯,彙編等,編譯階段的編譯優化的特點: 1、函數內聯可以避免函數調用中壓棧和退棧的開銷 2、For循環的循環控制變量通常很適合調度到寄存器訪問 3、強度削弱是指執行時間較短的指令等價的替代執行時

原创 分配空間那點事

int *p1 = new int[10]; int *p2 = new int[10](); 解答:p1申請的空間裏的值是隨機值,p2申請的空間裏的值已經初始化; 對於內置類型而言,new僅僅是分配內存,除非後面顯示加()

原创 extern

extern 基本解釋:extern可以置於變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。此外extern也可用來進行鏈接指定。 問題三連 一、在一個源文件裏定義了一個數

原创 局部變量、全局變量、靜態變量

局部變量 定義:局部變量指在程序中只在特定過程或函數中可以訪問的變量。換言之,在一個函數內部定義的變量是內部變量,它只在本函數範圍內有效,也就是說只有在本函數內才能使用它們,在此函數以外時不能使用這些變量的,它們稱爲局部變量。 全

原创 字節數計算

#include<stdio.h> int main(){ int a =sizeof(int); printf("int bite %d\n",a); int b=sizeof(unsigned i

原创 Linux系統的頂層目錄結構

Linux 系統的頂層目錄結構 存放位置 存放的內容 / 根目錄 bin 存放用戶二進制文件 boot 存放內和引導配置文件 dev 存放設備文件 etc 存放系統配置文件 home 用戶主目錄

原创 貪吃蛇n

太懶了,一直都沒有更新貪吃蛇新的代碼,那就先來一個完整版的貪吃蛇代碼把! #include <pthread.h> #include <curses.h> #include <stdlib.h> #define MAP

原创 strcpy、strncpy、memcpy

strcpy char *strcpy(char *s2, const char *s1); 參數: s1:原字符串 s2:目標字符串 解釋:strcpy是一種C語言的標準庫函數,strcpy把含有’\0’結束符的字符串複製到另