• 创建数据段
 //创建数据段
#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. 最长回文子串 hihocode 1032 hdu 3068

    最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 本地用户 vsftpd 配置文件

    # 禁止匿名用户anonymous登录 anonymous_enable=NO # 允许本地用户登录 local_enable=YES local_root=/data/wwwroot/ # 让登录的 ...

  3. Hello World (记事本+命令行)

    读完这篇博客.你将对下面几点更有心得: - Java 中的当前路径.类路径等概念 - javac.java 命令的综合使用 - jar 包的创建及引用 创建文件夹准备測试源代码 打包外部依赖 Jar ...

  4. Linux中为XEN网桥绑定物理网卡

    XEN虚拟机会默认将可以连通外网的网卡绑定到xenbr0上, 因此如果需要切换到其他物理网卡上时,需要自己配置脚本或执行命令. 1.添加脚本绑定 a.编写一个脚本,指定网卡与网桥绑定的关系 # vim ...

  5. AES加密解密&amp;&amp;SHA1、SHA加密&amp;&amp;MD5加密

    AES加密解密 SHA1.SHA加密 MD5加密 二话不说立即附上代码: package com.luo.util; import java.io.UnsupportedEncodingExcepti ...

  6. (七十一)关于UITableView退出崩溃的问题和滚动究竟部的方法

    [TableView退出崩溃的问题] 近期在使用TableView时偶然发如今TableView中数据较多时,假设在滚动过程中退出TableView到上一界面.会引起程序的崩溃.经过网上查阅和思考我发 ...

  7. Java Security安全系列文档翻译笔记————KeyStore、密钥、证书、命令行实战

    发送方任务: 1.将文档.源代码打包到jar包(这样才干够签名) 2.在keystore中生成相应的Private key和Public key 3.用Private Key对jar包进行签名,这是j ...

  8. Android 实现QQ、微信、新浪微博和百度第三方登录

    前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第三方登录的实现,并拿出来与大家一同分享: 各大开放平台注册账户获取AppK ...

  9. 分享一下10个常用jquery片段

      1. 图片预加载 (function($) { var cache = []; // Arguments are image paths relative to the current page. ...

  10. HDU 2689 Tree

    Tree Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...