jihongyuan 发表于 2016-5-17 14:37:25

#pragma push是什么意思,有什么作用

今天在看飞思卡尔的协处理器历程,里面有个cw自动生成的部分,如下:
#pragma push

/* this variable definition is to demonstrate how to share data between XGATE and S12X */
#pragma DATA_SEG SHARED_DATA
volatile int shared_counter; /* volatile because both cores are accessing it. */

/* Two stacks in XGATE core3 */
#pragma DATA_SEG XGATE_STK_L
word XGATE_STACK_L;
#pragma DATA_SEG XGATE_STK_H
word XGATE_STACK_H;

#pragma pop
请问,这个#pragma push和#pragma pop有什么用呢

aozima 发表于 2016-5-17 14:57:47

push/pop 一对相当于出入栈,消除中间那几个 #pragma 对后面的影响

jihongyuan 发表于 2016-5-17 15:04:29

aozima 发表于 2016-5-17 14:57
push/pop 一对相当于出入栈,消除中间那几个 #pragma 对后面的影响

这些知识在哪些资料里面会有呢,我到网上去搜搜,想了解的更详细一些

mekin0626 发表于 2016-5-17 15:24:45

汇编语言

GoingDown 发表于 2016-5-19 11:53:21

#pragma push 保存当前的pragma状态

.....中间可以随便用#pragma

#pragma pop 恢复之前的pragma状态

这些知识在编译器手册里可以看到。

yick 发表于 2016-5-19 12:18:28

好像也是防止库文件重定义的吧!

yick 发表于 2016-5-19 12:18:59

好像也是防止库文件重定义的吧!

kebaojun305 发表于 2016-5-19 14:15:13

编译器手册。
页: [1]
查看完整版本: #pragma push是什么意思,有什么作用