• 创建数据段
 //创建数据段
#pragma data_seg("fangfangdata")
int my_data_seg = ;
#pragma data_seg()
  • 与数据段连接,实现数据通信,分享

     //实现数据通信,分享
    #pragma comment(linker,"/SECTION:cgwdata,RWS")
  • 测试,用数据段使程序只能打开一次
     if (my_data_seg > )
    {
    printf("程序只能启动一个");
    MessageBoxA(, "no", "no", );
    return;
    }
    my_data_seg++;

  • 限定函数作用域

     #pragma  deprecated(run1,run2,run3)//限定函数作用域
  • 用法示例
     #include<stdio.h>
    #include<stdlib.h> void run1()
    { }
    void run2()
    { }
    void run3()
    { } void main()
    { run1();
    run2();
    run3();
    #pragma deprecated(run1,run2,run3)//限定函数作用域
    run1();
    run2();
    run3(); }

  • 设置自定义函数为内联函数

     #pragma intrinsic(run1,run2) //设置为内联函数
  • 设置系统函数为内联函数
     #pragma intrinsic(memset, strlen) //设置定定义函数,系统函数 为内联函数
  • 取消内联函数
     #pragma  funciton(run1)//取消内联函数
  • 用法示例
 #include<stdio.h>
#include <stdlib.h>
#include<string.h>
void run1()
{
puts("");
}
void run2()
{
puts("");
}
#pragma intrinsic(run1,run2) //设置为内联函数 #pragma intrinsic(memset, strlen) //设置定定义函数,系统函数 为内联函数
void main()
{
run1(); run2(); #pragma funciton(run1)//取消内联函数
getchar();
}
  • 设置内联的深度,开启内联或者禁止内联,自动开启内联,加快代码速度...

     #pragma inline_depth(4)//设置内联的深度
    #pragma inline_recuresion(on) //on off //开启内联或者禁止内联
    #pragma auto_inline(on)//自动开启内联,加快代码速度
    #pragma hdrstop("1.pch")
    #pragma check_stack(on)//off自动检查栈 //g全局优化,s,t// 代码体积与速度 y框架指针
    #pragma optimize("g" ,on)//代码优化

  • 常量字符串分配到run函数所在的代码  ,声明一个字符串分配到函数的所在,函数无法定义

     #include <stdio.h>
    #include<stdlib.h>
    void run();
    void run1()
    { }
    //常量字符串分配到run函数所在的代码 ,声明一个字符串分配到函数的所在,函数无法定义
    #pragma alloc_text("mysection",run) void main()
    {
    char *p = "mysection";
    printf("%s", p);
    run1(); getchar(); }

  • #pragma push_macro pop_macro
  • 用法示例
     //Y 的宏进栈,保存原来的宏,仍然生效
    #pragma push_macro("Y") //Y=80生效
    #define Y 80 //Y 的宏出栈,取消Y的生效,让原来的Y生效
    #pragma pop_macro("Y")

83.#pragma详解的更多相关文章

  1. #pragma详解

    在#Pragma是预处理指令它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有 ...

  2. 91.#pragma 详解

    #pragma 输出信息#pragma message #include<stdio.h> #pragma message("这里是测试1") #define X86 ...

  3. #pragma 预处理指令详解

    源地址:http://blog.csdn.net/jx_kingwei/article/details/367312 #pragma  预处理指令详解              在所有的预处理指令中, ...

  4. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解   #pragma comment( comment-type [,"commentstring"] ) 该宏放置一 ...

  5. pragma指令详解(转载)

    #pragma comment( comment-type [,"commentstring"] ) 该宏放置一个注释到对象文件或者可执行文件.comment-type是一个预定义 ...

  6. ScrollView详解

    创建方式 1:StoryBoard/Xib 这里StoarBoard就不多说,直接拖就可以,说太多没意思,如果连这个都不会我只能先给你跪了! 2:代码: 1 2 3 CGRect bounds = [ ...

  7. JNI详解---从不懂到理解

    转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 C ...

  8. iOS百度地图简单使用详解

    iOS百度地图简单使用详解 百度地图 iOS SDK是一套基于iOS 5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索.路径规划.地图标注.离线地图.定位.周边雷达等丰 ...

  9. [转]keil使用详解

    第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...

随机推荐

  1. android 客户端 Cookie处理

    Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). Cookie最早是网景公司的前雇员Lou Montul ...

  2. JAVA中jar包和war包的区别是

    其实jar包和war包都可以看成压缩文件,用解压软件都可以打开,jar包和war包所存在的原因是,为了项目的部署和发布,通常把项目打包,通常在打包部署的时候,会在里面加上部署的相关信息. 这个打包实际 ...

  3. Microsoft office2016(专业增强版) 安装错误,报CRT(KB2999226)

    对着这个错误的出现,网上有解释,这里不多说(实际是我没有找到比较靠谱的说法..),跟Window Update这个服务有关. 首先打开”Windows人为管理器”->"服务" ...

  4. Scrapy框架使用代理

    使用代理抓取https://www.baidu.com/s?wd=ip # -*- coding: utf-8 -*- ''' 一.在settings.py中开启中间件 DOWNLOADER_MIDD ...

  5. WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了

    原文:WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4 ...

  6. Swift学习笔记(9)--闭包

    1.闭包表达式: { (parameters) -> returnType in statements } 注1.闭包表达式语法可以使用常量.变量和inout类型作为参数,不提供默认值. 也可以 ...

  7. android对话框显示异常报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.

    今天写android实验碰到到一个问题,在用AlertDialog.Builder类构建一个对话框之后,调用Builder.show()方法时抛出异常如下: - ::-/xyz.qlrr.sqlite ...

  8. Intellij IDEA使用指南(持续更新)(转)

    一.项目层面 1.Java开发工具IntelliJ IDEA导入项目 http://jingyan.baidu.com/article/a17d52852118ac8098c8f2c1.html 2. ...

  9. You have ettempted to queue to many files.You may select one files.

    <script type="text/javascript" src="/script/swfupload/swfupload.js"></s ...

  10. U盘版Windows 10已经在亚马逊Amazon開始接受预订啦

    Windows 10定于下周7月29日正式公布. Windows 10家庭版119美元.专业版199美元,这个价格包含 Windows 10 授权.