这几天忙着去复习了,但是心理总是不踏实,不到实验室里就觉得一天的生活变了个样,现在还是晚上来这里“搞起”吧,白天还是在复习准备考试。因为要开始学习freescale,准备明年的比赛了,觉得是时候开始搞这个了,这几天也看了一下大概的内容,发现程序当中#pragma用的很多,每个程序都有,以前写的代码也有,但是没有总结,现在笔者来总结一下#pragma的用法吧。

  C 和C++的每个实现对它的主机或操作系统都支持一些独有的特征。例如, 某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。#pragma 指令对每个编译器给出了一个方法,在保持与C 和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 

语法:

1.#pragma message

#pragma message("消息文本")   当编译器遇到这条指令时,就在编译输出窗口中将消息文本打印出来。

2.#pragma code_seg

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

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

3.#pragma once

只要在头文件的最开始加入这条指令就能够头文件被编译一次。

4.#pragma hdrstop

表示编译头文件到此为止,后面的头文件不进行预编译。

5.#pragma  resouce

#pragma  resouce"*.dfm"表示*.dfm文件中的资源加入工程。*.dfm中包括了外观定义。

6. #pragma warning

#pragma warning (disable:4507  34; once:4385; error:164)  等价于

#pragma warning (disable:4507  34)  //不显示4507和30号警告信息

#pragma warning (once:4385)  //4358号警告信息仅报告一次

#pragma warning (error:164) //把164号警告信息作为一种错误

7.  #pragma  comment

#pragma  comment(...) 该指令将一个注释放入一个对象文件或可执行文件中,常用lib关键字帮我们链入一个库文件。如:#pragma  comment(lib,"user32.lib") 该指令用来将user32.lib库文件加入到本工程中。

8. #pragma  pack

这条指令主要用作改变编译器的默认对齐方式。

汇总#pragma用法的更多相关文章

  1. Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法

    Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法 Summary的用法和Group一样简单,分为两步: 启用Summary功能 在Feature标签内,添加如 ...

  2. #pragma用法

    #pragma是一种预处理指令,作用是设定编译器的状态或者是指示编译器完成一些特定的动作. 其格式一般为:#pragma Para.其中Para为参数.下面是一些常见用法. 1.message ——在 ...

  3. [C++] 头文件中的#ifndef,#define,#endif以及#pragma用法

    想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ...

  4. sql小计汇总 rollup用法实例分析

    这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...

  5. 移动H5开发入门知识,CSS的单位汇总与用法

    说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...

  6. H5移动端开发入门知识以及CSS的单位汇总与用法

    说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...

  7. 【Ext.Net学习笔记】05:Ext.Net GridPanel的用法(包含Filter、Sorter、Grouping、汇总(Summary)的用法)

    GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: <ext:GridPanel runat="server&qu ...

  8. Category 特性在 iOS 组件化中的应用与管控

    背景 iOS Category功能简介 Category 是 Objective-C 2.0之后添加的语言特性. Category 就是对装饰模式的一种具体实现.它的主要作用是在不改变原有类的前提下, ...

  9. c++ 一些随笔

    1. A region of source code where any use of the unqualified name (that is, as a plain identifier) re ...

随机推荐

  1. centos 使用mutt 命令发送邮件,随笔非教程

    #按照mutt yum -y install mutt #发送邮件 echo .com -s "邮件主题" -a 附件本地地址

  2. HTTP常见错误 400/401/403/404/500及更多

    HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无法重复此请求. HTTP 错误 401 401.1 未授权:登录失败 此错误表明传输给服务器的证 ...

  3. HDU 5835 Danganronpa (水题)

    题意:给定 n 个礼物有数量,一种是特殊的,一种是不特殊的,要分给一些人,每人一个特殊的一个不特殊,但是不特殊的不能相邻的,问最多能分给多少人. 析:是一个比较简单的题目,我们只要求差值就好,先算第一 ...

  4. HDU 4460 Friend Chains (BFS,最长路径)

    题意:给定 n 个人,和关系,问你这个朋友圈里任意两者之间最短的距离是多少. 析:很明显的一个BFS,只要去找最长距离就好.如果不能全找到,就是-1. 代码如下: #pragma comment(li ...

  5. SQL大数据查询分页存储过程

    最后一页分页一卡死,整个网站的性能都会非常明显的下降,不知道为啥,微软有这个BUG一直没处理好.希望SQL2012里不要有这个问题就好了. 参考代码如下: -- =================== ...

  6. jQuery弹性滑动导航菜单实现思路及代码

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <meta na ...

  7. C#一些知识点:委托和事件的区别

    在C#中,委托和事件是比较容易混淆的两个知识点,本篇博客就记录一下委托和事件之间的区别. 定义上的区别 委托:委托实际上是一个类,用来表示一个函数,可以理解为C++中的函数指针. 事件:事件是一个修饰 ...

  8. vsftpd 权限设置

    vsftpd 虚拟用户 多用户不同权限 2010-06-27 00:54:20|  分类: linux大杂绘|举报|字号 订阅     1.需要建立一个用户,这个用户是linux系统的本地用户,各ft ...

  9. javax.naming.NameNotFoundException

    2015-08-27 09:53:16,463 [localhost-startStop-1] DEBUG [org.springframework.jndi.JndiTemplate] - Look ...

  10. 部署WEB应用程序

    部署WEB应用程序: 1.在模板机上新建IIS站点 2.安装WebDeploy后在IIS控制台中导出站点为应用程序包 其站点在新虚机上必须存在,否则会报错,如下: 应用程序(C:\ProgramDat ...