`
隐形的翅膀
  • 浏览: 483786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

#pragma 用法

 
阅读更多
1. #pragma   comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。  
和在工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的  
程序别人在使用你的代码的时候就不用再设置工程settings了

为了避免同一个文件被include多次

1   #ifndef方式
2   #pragma once方式 只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。

在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。
    方式一:

    #ifndef __SOMEFILE_H__
    #define __SOMEFILE_H__
    ... ... // 一些声明语句
    #endif

    方式二:

    #pragma once
    ... ... // 一些声明语句


    #ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导致头文件明明存在,编译器却硬说找不到声明的状况

    #pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处是,你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题。对应的缺点就是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当然,相比宏名碰撞引发的“找不到声明”的问题,重复包含更容易被发现并修正。

   方式一由语言支持所以移植性好,方式二 可以避免名字冲突
分享到:
评论

相关推荐

    #pragma用法大全.doc

    #pragma用法大全.doc#pragma用法大全.doc

    #pragma用法_汇总.doc

    #pragma用法 汇总 doc 最近总有人问#pragma CODE SEG NEAR SEG NON BANKED 还有#pragma LINK INFO DERIVATIVE "mc9s12xs128"这些函数是什么意思 我在网上收集了一些资料希望能解大家疑惑 #pragma LINK ...

    #pragma预处理指令用法详解

    描述了#pragma 预处理指令的含义及用法。

    #pragma预编译指令详解

    七、 #pragma的用法 7 (1) message 参数。 8 (2) 另一个使用得比较多的pragma参数是code_seg。格式如: 8 (3) #pragma once (比较常用) 8 (4) #pragma hdrstop表示预编译头文件到此为止,后面的头文件不进行预编译...

    #pragma的用法

    #pragma语句在嵌入式系统程序中不可小觑啊。

    #pragma once用法

    详细介绍#pragma once用法,对于初学者可以学习一下

    C语言_#pragma用法详解

    #pragma 指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的, 且对于每个编译器都是不同的。

    #pragma_命令集合

    #pragma_命令集合 介绍pragma_命令的用法,使你不再迷茫

    #pragma C嵌入式 编程

    #pragma用法详解_C嵌入式编程技巧

    预处理指令#pragma讲解

    预处理指令#pragma ,让你对编程更加了解!详细讲解了预处理指令#pragma的用法

    c语言多线程执行循环的编译预处理指令 #pragma omp 的用法

    c语言多线程执行循环的编译预处理指令 #pragma omp 的用法 #pragma omp parallel for

    #pragma指令用法汇总和解析

    #Pragma_Pack.doc

    很详细的讲解 #Pragma_Pack的用法,作用,及效果,一目了然。

    Pragma用法.doc

    Pragma用法.doc。。。

    pragma_comment用法

    pragma_comment用法,jian dan de jie shao.pragma_comment用法

    EasyHook-2.7.6270.0-StaticLib

    静态库的用法大致如下: 1、头文件包含如下 #define _STATIC_LIB_ // 声明 引用静态库 #include #if _WIN64 #pragma comment( lib, "Aux_ulib.lib") #pragma comment( lib, "psapi.lib") #pragma comment( lib, ...

    vc一些东西pragma

    pragma 详用,基本说都的!!!!!!!!!!

    Pragma 指令详解

    pragma详解,详细解释pragma的用法,很详细。

    NeHe的opengl源码

    使用方法:visual c++6.0. 1.file-new-project-win32 名字任意,如:opengl1. 2.an empty object. ok. 3.new source file(名字任意,如:opengl1.cpp) 把cpp代码复制进去后,包含头文件后加入 #pragma comment( lib,...

    dsp28335开发总结

    1 #pragma CODE_SECTION(InitFlash, "ramfuncs")? 众所周知,微处理器从内存RAM中取指令的速度要比从flash中取指令要快好多倍,但是RAM的缺陷限制了其不能存储用户程序代码,因为RAM掉电会丢失数据,但是其速度要快...

Global site tag (gtag.js) - Google Analytics