11 在Unix/Linux系統中,什麼選項用來指定要製作成動態庫存?
(A) -static
(B) -shared
(C) -dynamic
(D) -library

答案:登入後查看
統計: A(0), B(3), C(2), D(3), E(0) #3399858

詳解 (共 2 筆)

#7318709

【第一步:找關鍵字】

關鍵字:

  • Unix/Linux

  • 動態庫存(shared library)

  • 選項(compiler/linker option)

? 核心考點就是:
建立「動態函式庫」要用哪個參數?

【第二步:白話翻譯】

這題在問:

? 「如果你要把程式做成『可以被其他程式共用的函式庫(.so)』,要用哪個指令選項?」

【第三步:解題思路】

這題在考什麼觀念?

? 靜態庫(.a) vs 動態庫(.so) 的建立方式

解題步驟

  1. 先知道兩種 library:

    • 靜態庫(static library, .a)

    • 動態庫(shared library, .so)

  2. 記住建立動態庫的關鍵參數
    -shared

  3. 對照選項找答案

原理與規則(生活比喻)

想像:

  • 靜態庫=每個人都影印一份資料(浪費空間)

  • 動態庫=大家共用一份資料(省空間)

? 要做「共用版本」
? 就要用 -shared

【第四步:選項分析】

(A) 為什麼錯?

✘ 錯

-static 是用來:

? 建立或使用「靜態連結」

不是動態庫

(B) 為什麼對?

✔ 正確(本題答案)

? -shared 是:

建立動態函式庫(.so)的標準選項

例如:

ㅤㅤ
gcc -shared -o libtest.so test.o
ㅤㅤ

(C) 為什麼錯?

✘ 錯

-dynamic 不是標準用來「建立動態庫」的選項

? 有些系統可能出現,但不是考試標準答案

(D) 為什麼錯?

✘ 錯

-library 不是常見或標準的編譯選項

【觀念補充與延伸】

核心觀念定位

? 系統程式 / Linux 編譯
? 常考指令型題目

法條或定義

  • 動態庫(Shared Library)
    在執行時才載入,供多個程式共用的函式庫(通常為 .so)

常見指令整理

建立動態庫:

ㅤㅤ
gcc -shared -o libxxx.so xxx.o
ㅤㅤ

使用動態庫:

ㅤㅤ
gcc main.c -lxxx
ㅤㅤ

觸類旁通(舉一反三)

對比概念

類型 副檔名 特性
靜態庫 .a 編譯時整合
動態庫 .so 執行時載入

變化題型

  • 問:哪個選項是靜態連結?
    ? -static

【記憶口訣】

? 「shared 就是共享 → 動態庫」

【常見陷阱】

學生最容易搞混的地方

把 static 和 shared 搞反

心理盲點

看到 dynamic 就以為是答案

避坑指南

? 記一句話:

  • 動態庫 → shared

  • 靜態庫 → static

0
0
#6786511
題目解析 在Unix/Linux系統中,...
(共 883 字,隱藏中)
前往觀看
0
0