delphi 精要 讀書筆記 記憶體分配釋放

2021-04-07 13:20:35 字數 737 閱讀 3196

1.記憶體分為三個區域:全域性變數區,棧區,堆區

全域性變數區:專門存放全域性變數

棧區:分配在棧上的變數可被棧管理器自動釋放

堆區:堆上的變數記憶體必須人工去釋放

2.指標類變數

指標類的變數在宣告為全域性變數時被初始化為空值,在宣告為區域性變數時則初始化為乙個隨機數,對於指標型別一般

要使用一些**來完成記憶體分配

3.動態分配記憶體的函式和過程

procedure getmem(var p: pointer; size: integer); 

分配大小為size位元組的記憶體塊,並讓p指向它

procedure allocmem(size: cardinal):pointer;

分配大小為size位元組的記憶體塊並始初化為零,並返回位址指標

procedure reallocmem(var p: pointer; size: integer);

在途中更改先前用getmem或者allocmem分配的記憶體大小

procedure freemem(var p: pointer);

使用getmem和allocmem分配的記憶體都應該用freemem釋放

procedure new(var p: pointer);

用new分配的記憶體大小由引數p的資料型別確定,因此,不要使用它給無型別指標變數分配記憶體.

procedure dispose(var p: pointer);

釋放該記憶體塊使用dispose

Shader入門精要讀書筆記3

笛卡爾座標系 標準正交基 左 右手座標系 點 向量 向量的運算 點積叉積 矩陣 矩陣的運算 矩陣變換 線性變換 縮放 旋轉 仿射變換 合併了線性變換和平移變換 齊次座標 縮放矩陣 旋轉矩陣 zxy 平移矩陣 依次 座標空間 父空間 子空間 模型空間 物件空間 世界空間 觀察空間 相機空間 裁剪空間 ...

Shader入門精要讀書筆記4

unity版本號和環境 建立場景,shader 材質 球體 簡單shader中每一行 的作用 使用語義 例如sv position 作為輸入輸出 sv position sv target 頂點 片元著色器輸出 結構體的引入,並用於著色器間資訊傳遞 頂點著色器插值後送給片元著色器 propertie...

Shader入門精要讀書筆記5

漸入佳境 光照 光源 方向,輻射度 吸收 散射 散射 折射 投射 反射 高光反射 specular 反射 漫反射 diffuse 折射 吸收 反射 出射度 輻射度 光照模型 brdf 標準光照模型 亦可稱為phong光照模型 blinn phong光照模型 標準光照模型 4部分 以下總結均基於此模型...