[解疑][TI]TI毫米波雷达系列(二):#pragma是什么

9 篇文章 58 订阅
6 篇文章 42 订阅

1

#pragma mark -…

从技术角度来说,任何以#pragma开头的代码都是一条编译器指令。具体来讲,是一个特定于程序或特定于编译器的指令,它们不一定适用于其他编译器环境。如果编译器不能识别该指令,则会将其忽略,但可能会生成一个警告。在我们的例子中,#pragma指令实际上是针对IDE的指令,而与编译器无关,它们告诉 Xcode的编译器,要在编辑器版面顶部的方法和函数弹出菜单中插入一条分隔线。第二条指令创建一个文本条目,其中包含该行剩余的内容,可以将该文本条目用作源代码中各组方法的描述性标题。

一些类(尤其是一些控制器类)可能很长,使用方法和函数弹出菜单便于代码导航。加入#pragma指令并对代码进行逻辑组织,可以使菜单变得更加有效。
【参考引用】https://blog.csdn.net/u013712343/article/details/82733707

2

#pragma指令可以用于实现相关的控制与扩展: 源码表控制, 结构压缩, 以及警告去除等等。

一些头文件中, 有#pragma once, 其实和#ifndef技巧等价, 可以避免所在的文件在一个单独编译中只包含一次。 比#ifndef的好处就是拥有较少的代码, 避免名称到碰撞。

例如下面:

grandparent.h

#pragma once
struct foo 
{
    int member;
};

parent.h

#include "grandparent.h"

child.c

#include "grandparent.h"
#include "parent.h"

另外, 使用#pragma pack(push(n))可以进行结构体的对齐设置, 参见之前写的关于struct包含的字节问题的博客。
【参考引用】https://blog.csdn.net/a130737/article/details/44540619?utm_source=blogxgwz2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值