导航:首页 > 源码编译 > 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编译器原子操作相关的资料

热点内容
如何用mamp本地web服务器 浏览:869
如何加密自己js代码 浏览:623
排列组合a与c的算法 浏览:534
如何在文件夹中找到同名内容 浏览:786
有什么app文字转韩文配音 浏览:372
循环宏1命令 浏览:35
斐波那契数列矩阵算法 浏览:674
公式保护后加密不了 浏览:82
java跳转到jsp 浏览:819
327平方根算法 浏览:216
win7美化命令行终端 浏览:797
免加密狗图片 浏览:485
一只透明的鸟是什么app 浏览:817
空气压缩机油批发商 浏览:69
linuxifexist 浏览:4
加密tf卡拷入文件 浏览:399
山西php工资 浏览:673
福州看病预约用什么小程序app 浏览:238
php保留两位小数不四舍五入 浏览:292
黑马程序员路径大全 浏览:1000