原创 《程序員的自我修養》學習筆記(六)————動態鏈接(1):爲什麼要動態鏈接

1. 靜態鏈接缺點          靜態鏈接諸多缺點,比如浪費內存和磁盤空間、模塊更新困難等。          內存和磁盤空間:靜態鏈接的方式對於計算機內存和磁盤的空間浪費非常嚴重,特別是在多進程操作系統情況下。每個進程都有靜態庫的備

原创 RTSP協議的一些分析(六)——使用RTP傳輸AAC文件

目錄 一、AAC的RTP打包 1.1 AAC格式 1.2 AAC的RTP打包方式 1.3 AAC RTP包的時間戳計算 1.4 源碼 二、AAC的sdp媒體描述 三、測試 RTP的封裝等信息,我已經在前面的文章中講過,這裏不做贅述。 一、

原创 《程序員的自我修養》學習筆記(七)————動態鏈接(2):地址無關碼與延遲綁定

1.地址無關代碼 1.1裝載時重定位          爲了能夠使共享對象在任意地址裝載,我們首先想到的方法就是靜態鏈接中的重定位。這個想法的基本思路就是,在鏈接時,對所有絕對地址的引用不作重定位,而把這一步推遲到裝載時再完成。一旦模塊裝

原创 《程序員的自我修養》學習筆記(四)————靜態鏈接

        人們把每個源代碼模塊獨立地編譯,然後按照需要將它們“組裝”起來,這個組裝模塊的過程就是鏈接。鏈接的主要內容就是把各個模塊之間相互引用的部分處理好,使得各個模塊之間能夠正確地鏈接。鏈接的過程主要包括地址與空間分配(Addre

原创 《程序員的自我修養》學習筆記(八)————動態鏈接(3):動態鏈接相關結構

        動態鏈接在不同的系統上有不同的實現方式,ELF的動態鏈接實現方式比PE稍微簡單一點。動態鏈接情況下,可執行文件的裝載與靜態鏈接情況基本一樣。首先操作系統會讀取可執行文件的頭部,檢查文件的合法性,然後從頭部中的”Progra

原创 RTSP協議的一些分析(一)——部分字符串函數的使用

PTSP協議介紹 RTSP協議的一些分析(一)——部分字符串函數的使用 RTSP協議的一些分析(二)——printf類似函數、sscanf以及log保存到內存中(printf輸入重定位) 目錄 一、源碼1及其用到的字符串函數       

原创 《程序員的自我修養》學習筆記(九)————動態鏈接(4):動態鏈接的步驟和實現

         動態鏈接的步驟基本上分爲3步:先是啓動動態鏈接器本身,然後裝載所有需要的共享對象,最後是重定位和初始化。 1.動態鏈接器自舉         動態鏈接器本身也是一個共享對象,但是事實上它有一些特殊性。對於普通共享對象文件

原创 《程序員的自我修養》學習筆記(五)————可執行文件的裝載與進程

        可執行文件只有裝載到內存中以後才能被CPU執行。早期的程序裝載的基本過程就是把程序從外部存儲器讀到內存中的某個位置。隨着硬件MMU的誕生,多進程、多用戶、虛擬存儲的操作系統的出現,裝載過程變得複雜起來。程序,也就是可執行文

原创 RTSP協議的一些分析(二)——printf類似函數、sscanf以及log保存到內存中(printf輸入重定位)

PTSP協議介紹 RTSP協議的一些分析(一)——部分字符串函數的使用 RTSP協議的一些分析(二)——printf類似函數、sscanf以及log保存到內存中(printf輸入重定位) 1、printf函數 #inclu

原创 RTSP協議的一些分析(七)——傳輸AAC的RTSP服務器

直接上代碼。 參考:https://blog.csdn.net/weixin_42462202/category_9293806.html #include <stdio.h> #include <stdlib.h> #include

原创 RTSP協議的一些分析(五)——使用RTSP傳輸H.264裸碼流

        把RTSP協議的一些分析(三)——簡單的rtsp服務器的實現和RTSP協議的一些分析(四)——RTP傳輸H.264結合在一起,就是本文的內容,這裏不做多介紹,直接上代碼。         rtp.h #ifndef _R

原创 RTSP協議的一些分析(四)——RTP傳輸H.264

  文章目錄 一、RTP封裝 1.1 RTP數據結構 1.2 RTP包的結構以及發包函數 1.3 源碼 二、H.264的RTP打包 2.1 H.264格式以及H.264的RTP打包方式 2.2 H.264 RTP包的時間戳計算 2.3 源

原创 RTSP協議的一些分析(三)——簡單的rtsp服務器的實現

  目錄 一、簡介 二、套接字的創建 三、解析請求 四、OPTIONS的響應 五、DESCRIBE的響應 六、SETUP的響應 七、PLAY的響應 八、源碼 一、簡介         RTSP服務器有兩個部分組成,一個是RTSP的交互,一

原创 RTSP協議的一些分析(一)———————一些字符串函數的使用

一、源碼1及其用到的字符串函數       strcat、strchr和strrchr、strtok、strstr 二、源碼2及其用到的字符串函數       strcmp、strncmp、stricmp、strnicmp 一、源碼1及其

原创 RTSP協議的一些分析(二)———————printf類似函數、sscanf以及log保存到內存中(printf輸入重定位)

1、printf函數 #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, cons