首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

自建 C 函數庫完整指南:從編譯到連結的實務操作

     編輯:關於C++

在早期 DOS 環境下開發 C 程式時,建立自訂函數庫是提升開發效率、實現代碼復用的關鍵技能。本文詳細記錄使用 Turbo C 編譯器(TC)建立、管理與使用自訂函數庫的完整流程,涵蓋命令列工具與整合開發環境(IDE)兩種操作模式。

核心工具介紹

  • TCC:TC 的 DOS 命令列編譯連結工具
  • TLIB:TC 的 DOS 庫操作工具,用於建立與維護 .LIB 檔案

建立函數庫實戰步驟

步驟 1:編寫與編譯原始碼

在 TC IDE 中建立 USERADD.C:

#define _NO_MAIN
int add(int *a, int *b) {
    int c = (*a) + (*b);
    return c;
}

按 Alt+F9 編譯,產生 USERADD.OBJ 目標檔案。

步驟 2:使用 TLIB 建立函數庫

進入 DOS 環境(F10→F→O),將 OBJ 檔複製到 ..\LIB 目錄,執行:

TLIB USERLIB.LIB + USERADD.OBJ

即可生成 USERLIB.LIB,內含 add() 函數的二進制代碼。原始碼 USERADD.C 可備份後刪除。後續新增函數同樣編譯後用 TLIB 加入。

步驟 3:建立標頭檔

建立 USER1.H 並複製到 INCLUDE 目錄:

int add(int *, int *);

步驟 4:使用函數庫

撰寫測試程式 ADD-1.C:

#include <stdio.h>
#include <user1.h>
void main() {
    int a = 20, b = 30, c;
    c = add(&a, &b);
    printf("%d", c); // 輸出 50
}

命令列編譯連結:

TCC ADD-1.C ..\LIB\USERLIB.LIB

進階技巧:整合至運行時庫

為了在 TC IDE 直接編譯連結,可將自訂函數直接加入 TC 的運行時庫:

TLIB CS.LIB + USERADD.OBJ

根據記憶體模式選擇對應運行時庫:

庫檔案記憶體模式
CS.LIB小模式
CC.LIB緊湊模式
CM.LIB中模式
CL.LIB大模式
CH.LIB巨模式

浮點運算需額外連結:EMU(模擬)或 FP87(80x87 協處理器)庫,以及 MATHx 數學庫(x 為 s/c/m/l/h)。

遺憾與啟示

DOS 時代的函數庫管理雖顯繁瑣,但奠定了模組化開發的基礎概念:編譯→目標檔→庫管理→標頭檔宣告→連結使用。現代建構系統(CMake、Make、IDE 專案)本質上沿襲相同邏輯,理解此歷史流程有助於深入掌握現代工具鏈原理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved