精灵巫婆 发表于 2015-1-18 11:22:51

Linux编程之Linux C内联汇编用法仓酷云

在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。
Linux内核中有良多c中利用汇编的情形,好比原子操纵。内联汇编一般用上面的格局:
asm volatile("InstructionList":Output:Input:Clobber/Modify);
固然,大概写作以下格局(Output、Input、Clobber/Modify都是可选的),也就是三个冒号,4个部分:
asm volatile("InstructionList"
:Output
:Input
:Clobber/Modify);
为了了解便利,以屏障当地irq相干函数的代码为例子:
<p>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
staticinlineunsignedlongnative_save_fl(void)
{
unsignedlongflags;
/*
*"=rm"issafehere,because"pop"adjuststhestackbefore
*itevaluatesitseffectiveaddress--thisispartofthe
*documentedbehaviorofthe"pop"instruction.
*/
asmvolatile("#__raw_save_flagsnt"
"pushf;pop%0"
:"=rm"(flags)
:/*noinput*/
:"memory");
returnflags;
}
staticinlinevoidnative_restore_fl(unsignedlongflags)
{
asmvolatile("push%0;popf"
:/*nooutput*/
:"g"(flags)
:"memory","cc");
}
staticinlinevoidnative_irq_disable(void)
{
asmvolatile("cli":::"memory");
}
<p>staticinlinevoidnative_irq_enable(void

活着的死人 发表于 2015-1-20 22:23:35

学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]

谁可相欹 发表于 2015-1-22 18:28:40

我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。

简单生活 发表于 2015-1-31 07:54:54

虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。

小女巫 发表于 2015-2-3 12:13:32

不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。

第二个灵魂 发表于 2015-2-6 16:45:28

Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。

飘灵儿 发表于 2015-2-17 08:38:40

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

海妖 发表于 2015-2-21 06:30:03

学习Linux应具备的。[书籍+网络资源]

若相依 发表于 2015-3-6 19:45:40

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

不帅 发表于 2015-3-13 07:08:29

感谢老师和同学们在学习上对我的帮助。

莫相离 发表于 2015-3-20 16:10:34

直到学习Linux这门课以后,我才知道,原来我错了。?
页: [1]
查看完整版本: Linux编程之Linux C内联汇编用法仓酷云