打印

again:关于#pragma的问题

[复制链接]
2734|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shilei1014|  楼主 | 2008-5-19 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AI, IO, ni, ST, TE
     前一段时间请教过关于“#pragma”,是关于:
#pragma  ioport   EP0_DR0:    0x050  // Endpoint 0 Data  Register 0
BYTE              EP0_DR0;

#pragma fastcall16 的问题。
今天早晨请教一位师兄,他说,#pragma是十分灵活的一个预处理命令,有共同的命令格式,但不同的片子有不同之处,依厂家来定。而编译器的“帮助”里会这样的解释的。以下就是PSoC Designer4.0 的Help的解释:
#pragma ioport LED:0x04; char LED;
Defines a variable that occupies a region in IO space (register). This variable can then be used in IO reads and writes. The #pragma ioport must precede a variable declaration defining the variable type used in the pragma.
定义一个占用I/O空间(寄存器)的变量。这个变量可以用于I/O的读操作和写操作。在使用#pragma ioport时,需要对变量进行一个类型定义,为char。
#pragma fastcall16 GetChar
Provides an optimized mechanism for argument passing. This pragma is used only for Assembly functions called from C.
提供一个最优的参数(argument)传递的的机制。这个pragma预处理命令只用于c语言调用汇编命令的时候。
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

38

帖子

0

粉丝