打印
[开发工具]

C语言尽量少用#pragma语句

[复制链接]
383|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2024-1-29 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

C语言中有一种特殊的#pragma语句。这些语句通常处理非标准的句法和特性,应尽可能避免使用这种语句,因为它们是非标准的,不能从一个处理器移植到另一个处理器。有些编译器可能要求用这类语句完成某项任务,例如定义一个中断服务程序,这时候我们应该将中断服务函数单独写出来,再让编译器要求的写法的函数去调用,把我们的程序和编译器特性需求给解耦合。

// 使用 typedef 定义关键字
typedef unsigned char U8;
typedef unsigned short U16;
typedef unsigned int U32;


另外,我们可以在自己的代码中自定义一些便于移植的数据类型,这样以后移植自己的代码的时候只需要#include 我们自己的配置文件就可以了。

使用特权

评论回复
沙发
tpgf| | 2024-2-2 10:23 | 只看该作者
请问这个语句的功能是什么啊

使用特权

评论回复
板凳
coshi| | 2024-2-2 10:57 | 只看该作者
写函数中断时,经常要加上#pragma语句,否则,编译就会出错

使用特权

评论回复
地板
qcliu| | 2024-2-3 09:58 | 只看该作者
用来处理非标准的话 那么处理的原则是什么呢

使用特权

评论回复
5
drer| | 2024-2-3 10:30 | 只看该作者
在使用这个语句的同时可以使用预编译语句吗

使用特权

评论回复
6
kxsi| | 2024-2-3 11:11 | 只看该作者

   #pragma code_seg(["section-name"["section-class"]])

它能够设置程序中函数代码存放的代码段。当我们开发驱动程序时便就会使用到它。


使用特权

评论回复
7
wiba| | 2024-2-3 11:47 | 只看该作者
感觉如果使用这样的语句 会降低代码的可读性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

260

主题

2193

帖子

4

粉丝