導航:首頁 > 源碼編譯 > cc編譯器原子操作

cc編譯器原子操作

發布時間:2023-08-03 14:30:32

㈠ 怎樣利用CC命令在Unix上編譯C程序

在 UNIX系統下面,使用 cc 命令最常用的選項主要有如下幾個(以 my_prog.c 為例進行說明)
$cc -c my_prog.c <cr> (-c 選項表示只編譯、產生中間文件,不進行鏈接、並產生最終的可執行程序)
$cc my_prog.c <cr>(編譯、鏈接,並產生預設的可執行程序。預設的可執行文件名為:a.out)
$cc -o my_runfile my_prog.c <cr>(-o 選項用於生成用戶指定的可執行程序名,代替預設的可執行文件名:a.out。這里的可執行文件名是:my_runfile)
至於說還有很多其他選項,例如:-L系統庫名字(*.LIB)等,那就需要在平時的編程過程中去體會了。
另外,如果是在 Linux 系統下面進行 C 語言的開發,使用的是 gcc 編譯器。其選項和 cc 編譯器相同。

㈡ 如何在Linux中安裝cc和gcc編譯器

方法如下:
一:掛載yum源,在終端輸入指令:mount -o loop xxxx.iso /media/CentOS/
說明:xxxx.iso 是你的鏡像文件名(注意路徑正確)
/media/Centos/ 這個是掛載後文件地址,Centos是自己建的,也可以自己選著路徑;

二:修改/etc/yum.repos.d/CentOS-Media.repo
1.首先進入文件: vi /etc/yum.repos.d/CentOS-Media.repo
2.修改文件如下:
[c6-media]
name=CentOS-$releasever - Media #名字而已
baseurl=file:///media/Centos #剛剛掛載鏡像的地址
gpgcheck=1
enabled=1
gpgkey=file:///etc/media/Centos/RPM-GPG-KEY-CentOS-6
3. 退出保存。
4.輸入指令:gcc -v 看看有沒有反應。

㈢ 為什麼原子操作都起內存屏障的作用

(1) 進行零次或一次對齊內存訪問的匯編指令是原子的。

(2) 如果在讀操作之後、寫操作之前沒有其它處理器佔用內存匯流排,那麼從內存中讀取數據、更新數據並把更新後的數據寫回內存中的這些」 讀—修改—寫」匯編語言指令是原子的。當然,在單處理器系統中,永遠都不會發生內存匯流排竊用的情況。

(3) 操作碼前緣是lock位元組的」 讀—修改—寫」匯編語言指令即使在多處理器系統中也是原子的。當控制單元檢測到這個前綴時,就」鎖定」內存匯流排,直到這條指令執行完成為止。因此,當加鎖的指令執行時,其它處理器不能訪問這個內存單元。

(4) 操作碼前綴是一個rep位元組的匯編語言指令不是原子的,這條指令強行讓控制單元多次重復執行相同的指令。控制單元在執行新的循環之前要檢查掛起的中斷。

在你編寫C代碼程序時,並不能保證編譯器會為a=a+1或甚至像a++這樣的操作使用一個原子指令。因此,Linux內核提供了一個專門的atomic_c類型和一些專門的函數和宏(參見表5-4),這些函數和宏作用於atomic_t類型的變數,並當作單獨的、原子的匯編語言指令來使用。在多處理器系統中,每條這樣的指令都有一個lock位元組的前綴。

㈣ makefile command的cc -c,cc -o是什麼意思啊

CC
是一個全局變數,它指定你的Makefile所用的編譯器,一般默認是gcc
你可以顯示的指定,比如說
CC=gcc
-c
-o
都是gcc的參數
CC
-o相當於在中端中執行gcc
xx.c
-o
xx.o
想要了解更多makefile編寫方法,可以下個文檔看看,半天就能搞定。

閱讀全文

與cc編譯器原子操作相關的資料

熱點內容
新手學電腦編程語言 瀏覽:891
雲空間在哪個文件夾 瀏覽:926
編程游戲小貓抓小魚 瀏覽:790
安卓dosbox怎麼打開 瀏覽:774
伺服器無影響是怎麼回事 瀏覽:952
比德電子采購平台加密 瀏覽:202
加密貨幣400億 瀏覽:524
植發2次加密 瀏覽:44
vc6查看編譯的錯誤 瀏覽:595
心理大全pdf 瀏覽:1002
區域鏈加密幣怎麼樣 瀏覽:343
查找命令符 瀏覽:95
壓縮工具zar 瀏覽:735
白盤怎麼解壓 瀏覽:475
辰語程序員學習筆記 瀏覽:47
程序員被公司勸退 瀏覽:523
java三子棋 瀏覽:693
加密空間怎麼強制進入 瀏覽:345
ug分割曲線命令 瀏覽:209
學碼思程序員 瀏覽:610