• 创建数据段
 //创建数据段
#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 使用Gallery组件实现图片播放预览

    Gallery(画廊)扩展了LayoutParams,以此提供可以容纳当前的转换信息和先前的位置转换信息的场所. Activity package com.app.test01; import com ...

  2. Python demo working

    一.游戏1.2.3 print("-------------- Guess Number Game---------------------") num=input("G ...

  3. 打包,VS 之 InstallShield Limited Edition for Visual Studio 2015 图文教程

    转载收藏于 https://www.cnblogs.com/xinaixia/p/5473815.html 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而 ...

  4. 开源系统源码分析(filter.class.php)

    <?php class baseValidater { //最大参数个数 const MAX_ARGS=3; public static function checkBool($var) { r ...

  5. noip 2018 day1 T3 赛道修建 贪心_树上问题_multiset

    Code: // luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; #define maxn 5000 ...

  6. spring的事务如何配置

    spring的声明式事务配置: 1. <!-- 配置sessionFactory --> <bean id="sessionFactory" class=&quo ...

  7. mysql简单备份脚本

    #!/bin/bash #army.han #2016-11-11 #new_gj_DBbackup#备份路径配置 GSdir='/data/dbbackup/mysqlDB' TIME=`date ...

  8. SPI总线工作模式

    一.SPI总线工作模式 SPI总线有四种工作模式,是由时钟极性选择(CPOL)和时钟相位选择(CPHA)决定的. CPOL = 0 ,SPI总线空闲为低电平,CPOL = 1, SPI总线空闲为高电平 ...

  9. 【2017 Multi-University Training Contest - Team 1 1002】Balala Power!

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6034 [Description] 给你n个字符串; 每个字符串都仅由小写字母组成; 然后,你可以把 ...

  10. java对象和json数据转换实现方式1-使用json-lib实现

    測试代码: package com.yanek.util.json; import java.util.ArrayList; import java.util.List; import net.sf. ...