zoukankan      html  css  js  c++  java
  • #pragma section

     看了别人使用了#pragma section来共享变量,今天试了下

    如下添加代码

    #define GLOBAL_SHARED __declspec(allocate(".Shared"))
    #pragma section(".Shared",read,write,shared)
    GLOBAL_SHARED int gs_nTest;
    GLOBAL_SHARED char gs_caTest[100];

    如上定义两个变量,编译完成后,启动两个实例A和B

    在A中进行赋值,可以在B中直接读到,同样在B中赋值,在A中也可以读到,很方便

    另外,实验发现:

    1、CString变量不可以

    2、实例A和B必须是同一程序,路径不同也不可以

    网上找的参考

    #pragma section( "section-name" [, attributes] )
    Creates a section in an .obj file. Once a section is defined, it remains valid for the remainder of the compilation. However, you must use __declspec(allocate) or nothing will be placed in the section.
    
    section-name is a required parameter that will be the name of the section. The name must not conflict with any standard section names. See /SECTION for a list of names you should not use when creating a section.
    
    attributes is an optional parameter consisting of one or more comma-separated attributes that you want to assign to the section. Possible attributes are:
    
    read 
    Allows read operations on data. 
    write 
    Allows write operations on data. 
    execute 
    Allows code to be executed. 
    shared 
    Shares the section among all processes that load the image. 
    nopage 
    Marks the section as not pageable; useful for Win32 device drivers. 
    nocache 
    Marks the section as not cacheable; useful for Win32 device drivers. 
    discard 
    Marks the section as discardable; useful for Win32 device drivers. 
    remove 
    Marks the section as not memory-resident; virtual device drivers (VxD) only. 
    If you do not specify attributes, the section will have read and write attributes.
    
    Example
    In the following example, the first instruction identifies the section and its attributes. The integer j is not put into mysec because it was not declared with __declspec(allocate); j goes into the data section. The integer i does go into mysec as a result of its __declspec(allocate) storage-class attribute.
    
  • 相关阅读:
    Python将文件夹下的文件名写入excel方便统计
    Python利用openpyxl带格式统计数据(2)- 处理mysql数据
    Python利用openpyxl带格式统计数据(1)- 处理excel数据
    spfa 算法(队列优化的Bellman-Ford算法)
    bellman_ford算法(边数限制的最短路,边权可能为负)
    堆优化dijkstra
    朴素dijkstra
    1547. 切棍子的最小成本(区间dp)
    1546. 和为目标值的最大数目不重叠非空子数组数目(前缀和+dp)
    32场双周赛(模拟,模拟,前缀和加状态压缩)
  • 原文地址:https://www.cnblogs.com/fatterbetter/p/4116222.html
Copyright © 2011-2022 走看看