原创 linux下的圖像傳輸(利用共享內存實現圖像傳輸)

        共享內存是進程之間通信最快的方式。client將圖像數據讀入共享內存,server從共享內存中讀取數據。採用共享內存中的一個字符作爲標誌位實現共享內存的同步。 server.c // server:讀取共享內存圖像數據

原创 Windows和Linux定時器的使用

timer 1: /*--------------------windows:----------------------------------*/ 方法1:CreateTimerQueueTimer void process_tim

原创 如何順利的通過入職大考驗?

拿到offer後,首先就是要恭喜自己終於成爲了程序猿大軍中的一員。還不能高興的太早,你得轉正纔行,所以拿到offer的你還只是候選程序猿。大家都剛入職,怎樣才能從大批的新手中脫穎而出,領跑新手,估計是每個新手都會思考的問題。下面就結合自己

原创 一文帶你快速掌握進程與線程的根本(附線程同步源碼)

基本概念:         線程(英語:thread)是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以併發多個線程,每條線程並行執行不同的任務。同一

原创 聊天小項目(三)轉發消息到其他客戶端

客戶端A發送消息,服務端轉發消息給其他客戶端。 服務端; #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #includ

原创 MATLAB入門級演示

實在是不想貼出來,因爲實在是真的太簡單了,但是文檔了刪了又白白浪費了自己的時間,左思右想還是貼出來算了。 1、Matlab圖像常用函數: 查看一個函數的三種方式:doc / help / edit ayuhz 空間濾波: 代碼: cle

原创 聊天小程序(十一)擴展:實現註冊功能

需求:當客戶段登上來的時候進行登錄註冊,登出刪除。併產生校驗碼,  

原创 聊天小程序(十)增強代碼的健壯性

需求:當連接失敗、服務器拒絕連接等其他情況出現時,客戶端能正常處理並不會產生core dunp 分析: 情況一:客戶端連接服務器時,服務器拒絕未啓動 或者以啓動但拒絕連接; 情況二:客戶端創建消息處理線程時創建失敗; 暫時解決情況一; c

原创 聊天小項目之多客戶端聊天

第二步:多用戶同時在線聊天 需求分析:能支持對個用戶同時聊天,實現羣聊功能; 方法分析:採用多線程處理方式。不同的客戶端開啓不同的工作線程,共享同一進程的內存信息。服務端轉發某一客戶端發送的信息給其他客戶端,實現信息實時共享。 服務端代碼

原创 不可不知的程序“鎖”(附加鎖源碼)

什麼是“鎖” ?         通俗點講,當你去食堂打飯,人很多的時候,大家都想盡快打到飯,要是大家一擁而上的叫阿姨打飯的話,阿姨也不知道聽誰的。這個時候就需要有某種機制約束一下大家的行爲。相對於多線程訪問某個共享資源的時候,“鎖”就應

原创 寫給大忙人讀的進程間通信(附進程同步源碼)

摘要:         進程的用戶空間是互相獨立的,一般而言是不能互相訪問的,唯一的例外是共享內存區。另外,系統空間是“公共場所”,各進程均可以訪問,所以內核也可以提供這樣的條件。此外,還有雙方都可以訪問的外設。在這個意義上,兩個進程當然

原创 一文帶你快速掌握進程與線程的根本

基本概念:         線程(英語:thread)是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以併發多個線程,每條線程並行執行不同的任務。同一

原创 幾行代碼教你入門套接字編程

套接字是網絡通信的基礎,特別是C/C++編程中隨處可見,所以不得不知,不得不學。 那麼什麼是套接字?請參考另一篇文章: https://blog.csdn.net/fengxianghui01/article/details/104398

原创 如何快速入門Linux?Linux常用命令(一)

第一章: 各種硬件在linux中的表示: 1、IDE接口:/dev/sd[a-d],即:/dev/sda、/dev/sdb; 2、打印機or軟盤:/dev/lp0、/dev/fd0; 3、SCSI/SATA/USB:/dev/sd[a-p

原创 如何快速入門Linux?Linux常用命令(二)

入門linux最快的方法應該就是熟練運用linux 的命令了: 第四章: 如何製作文件系統,包括:分區、格式化、掛載 1、實體磁盤:第一顆磁盤文件名爲:/dev/sda;而分區槽的檔名爲/dev/sda 2、虛擬機的磁盤:/dev/vd[