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

热点内容
卡尔曼滤波算法书籍 浏览:764
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:841
安卓怎么下载60秒生存 浏览:800
外向式文件夹 浏览:233
dospdf 浏览:428
怎么修改腾讯云服务器ip 浏览:385
pdftoeps 浏览:490
为什么鸿蒙那么像安卓 浏览:733
安卓手机怎么拍自媒体视频 浏览:183
单片机各个中断的初始化 浏览:721
python怎么集合元素 浏览:477
python逐条解读 浏览:829
基于单片机的湿度控制 浏览:496
ios如何使用安卓的帐号 浏览:880
程序员公园采访 浏览:809
程序员实战教程要多长时间 浏览:972
企业数据加密技巧 浏览:132
租云服务器开发 浏览:811
程序员告白妈妈不同意 浏览:333
攻城掠地怎么查看服务器 浏览:600