freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux系統(tǒng)中如何編譯c程序-資料下載頁

2025-05-01 02:10本頁面
  

【正文】 鏈接外部庫 ? 庫是預編譯的目標文件 (object files)的集合,它們可被鏈接進程序。靜態(tài)庫以后綴為‘ .a’的特殊的存檔文件 (archive file)存儲 。 ? 標準系統(tǒng)庫可在目錄 /usr/lib 與 /lib 中找到。比如,在類 Unix 系統(tǒng)中 C 語言的數(shù)學庫一般存儲為文件 /usr/lib/。該庫中函數(shù)的原型聲明在頭文件 /usr/include/ 中。 C 標準庫本身存儲為 /usr/lib/,它包含 ANSI/ISO C 標準指定的函數(shù),比如‘ printf’。對每一個 C 程序來說, 都默認被鏈接。 ? 下面的是一個調(diào)用數(shù)學庫 中 sin 函數(shù)的的例子: Linux操作系統(tǒng) ? 代碼 : include include ? int main (void) { double x = sin ()。 printf (The value of sin() is %f\n, x)。 return 0。 } ? 嘗試單獨從該文件生成一個可執(zhí)行文件將導致一個鏈接階段的錯誤: 代碼 : $ gcc Wall o calc /tmp/: In function `main39。: +0x1b): undefined reference to `sin39。 Linux操作系統(tǒng) ? 函數(shù) sin,未在本程序中定義也不在默認庫‘ ’中;除非被指定,編譯器也不會鏈接‘ ’。 ? 為使編譯器能將 sin 鏈接進主程序‘ ’,我們需要提供數(shù)學庫‘ ’。一個容易想到但比較麻煩的做法是在命令行中顯式地指定它: ? 代碼 : $ gcc Wall /usr/lib/ o calc ? 函數(shù)庫‘ ’包含所有數(shù)學函數(shù)的目標文件,比如 sin,cos,exp,log及 sqrt。鏈接器將搜索所有文件來找到包含 sin 的目標文件。 ? 一旦包含 sin 的目標文件被找到,主程序就能被鏈接,一個完整的可執(zhí)行文件就可生成了 Linux操作系統(tǒng) ? 代碼 : $ ./calc The value of sin() is ? 可執(zhí)行文件包含主城許的機器碼以及函數(shù)庫‘ ’中 sin 對應的機器碼。 ? 為避免在命令行中指定長長的路徑,編譯器為鏈接函數(shù)庫提供了快捷的選項‘ l’。例如,下面的命令 ? 代碼 : $ gcc Wall lm o calc ? 與我們上面指定庫全路徑‘ /usr/lib/’的命令等價。 ? 一般來說,選項 lNAME使鏈接器嘗試鏈接系統(tǒng)庫目錄中的函數(shù)庫文件 。一個大型的程序通常要使用很多 l 選項來指定要鏈接的數(shù)學庫,圖形庫,網(wǎng)絡庫等。 Linux操作系統(tǒng) ? 編譯 C++ ? 你可能知道: GCC 是 GNU 編譯器集合( GNU Compiler Collection)的首字母縮寫詞。它可以編譯 C, C++, ObjectiveC, Java 和 Ada 語言。 ? 前面我們只涉及到 C 語言,那么如何用 gcc 編譯其他語言呢? ? 編譯 c++ ? (下面兩條命令是等價的,不過我相信你會選擇前者 ^_^) 代碼 : g++ Wall o hello gcc Wall o hello lstdc++ Linux操作系統(tǒng) ? 如果 gcc版本 ,那么以下命令任選其一 代碼 : g77 Wall o hello gcc Wall o hello lfrtbegin lg2c Linux操作系統(tǒng) ? Anjuta 只不過是個寫 C,C++ 的 IDE環(huán)境而已。配備庫文件后,才可以寫程序,包括在終端運行的程序(類似于 DOS程序),和圖形界面程序(類似于窗口程序)。 ? 下面就用 Anjuta寫一個 c,寫一個 c++ ? 應用程序|編程| Anjuta IDE ? 新建工程,用向導生成一個 C程序的框架,你在Visual C++一樣,頓時生成許多文件,用 IDE就是這樣麻煩。 ? 選擇 C標簽頁下的 Generic ? 工程名用默認的 foobarsample ? 在 optional下全部選擇:無 ? 生成目的地為:主文件夾: zhouxiongfei 之下新建一個文件夾: test Linux操作系統(tǒng) ? 在 Anjuta左邊文件目錄中,打開 src文件夾,看到有個 ,打開它,可以看到向導已經(jīng)為我們生成了一個 c程序: /* * Mode: C。 indenttabsmode: t。 cbasicoffset: 4。 tabwidth: 4 * */ /* * * Copyright (C) 周雄飛 2022 * * is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. Linux操作系統(tǒng) * is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY。 without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see */ include int main() { printf(Hello world\n)。 return (0)。 } 按 shift+F11生成工程(對應于: 生成|生成工程) 按 F3(對應于: run|執(zhí)行程序(需要選擇要運行是那個程序)就可以在終端運行了 Linux操作系統(tǒng) Linux操作系統(tǒng) Linux操作系統(tǒng) Linux操作系統(tǒng) Linux操作系統(tǒng) 信息科學與技術學院
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1