c++builder 中关于#pragma使用整理

c++builder 中关于#pragma使用

关于#pragma的预编译,在不同编辑器内都有所不同,这里只针对C++Builder的做一些记录。

1.#pragma alignment(这个我在网上找到的,不是很理解,暂做记录)

        alignment pragma用于显示一条当前内存对齐(alignment)和枚举(enum)字节大小的消息。例如:
        W8035: The alignment is 8 bytes, the enum size is 4 bytes
        该消息必须在打开编译器选项”show general messages”或编译器开关”-wmsg”后才能显示。

2.#pragma anon_struct

        #pragma anon_struct on 允许编译类中内嵌的匿名结构
        #pragma anon_struct off 禁止编译类中内嵌的匿名结构

        例如:

#pragma anon_struct on
struct S
{
int i;
struct // Embedded anonymous struct
{
int j ;
float x ;
};
S() { i = 1; }
};
#pragma anon_struct off

3.#pragma argsused

argsused pragma通常在定义一个函数前使用,用于屏蔽函数参数未使用的警告。例如:

#pragma argsused

int func(int a,int b)

{

++b;

return b;

}

如果不使用该pragma,编译器就会报类似”函数参数没有用到”的警告消息。

4.#pragma checkoption optionstring

checkoption pragma检查optionstring中包含的选项是否已设置。例如:

#pragma checkoption -a4 -b

如果没有设置,显示一个错误:E2471: pragma checkoption failed: options are not asexpected。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值