• 创建数据段
 //创建数据段
#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自定义组件系列【16】——最帅气的自动滚动广告条

    前一段时间要实现一个滚动的广告条,参考了一下网上许多实现,发现实现都很麻烦,所以我决定自己使用ViewFlipper来实现一个,在此将代码贴出来,与大家共享. 转载请说明出处:http://blog. ...

  2. SQL server 事务介绍,创建与使用

    事务(Transaction)事务是一种机制,一个操作序列,包含一组操作指令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求(即要么全部执行,要么全部不执行)---------------- ...

  3. Mysql source导入.sql文件深坑!

    刚刚接手一个项目,给老系统加功能.把数据库考出来一个.sql文件就170多M. 使用mysql命令行source 我的.sql文件. 导了一宿都没导完,然后发现里面的数据怎么是乱码呢.. 崩溃额,在排 ...

  4. LinkedHashMap<String, Bitmap>(0, 0.75f, true) LinkedHashMap的加载因子和初始容量分配

    今天上午在CSDN的论坛里看到有朋友提的问题如下: /** @param maxSize Maximum sum of the sizes of the Bitmaps in this cache * ...

  5. js---05 自定义属性

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  6. Day1下午解题报告

    预计分数:0+30+30=60 实际分数:0+30+40=70 T1水题(water) 贪心,按长度排序, 对于第一幅牌里面的,在第二个里面,找一个长度小于,高度最接近的牌 进行覆盖. 考场上的我离正 ...

  7. Kinect 开发 —— 显示骨骼用户插件

    public partial class SkeletonViewer : UserControl { private readonly Brush[] _SkeletonBrushes = new ...

  8. 使用Java语言开发微信公众平台(三)

            在上一节课程中,我们来学习了微信公众平台最基础的一个接口——access_token,并且能够从微信公众平台中取到access_token. 那么,在本节课程中,我们要以上节课获取到的 ...

  9. ajax起步 (二)

    Ajax的关键在于XMLHttpRequest对象,如下基本用法: <!DOCTYPE html> <html> <head> <meta charset=& ...

  10. 今日SGU 5.10

    SGU 168 题意:从a矩阵求出b矩阵,规则直接看题目就行了,不好打字说明 收获:dp #include<bits/stdc++.h> #define de(x) cout<< ...