`
tcspecial
  • 浏览: 911344 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

data_seg

阅读更多

     #pragma data_seg() 是vc编译器提供的预处理指令,可以实现进程间数据共享。一般用于DLL中,且数据必须初始化,否则编译器会把未初始化数据放到.BSS段中

      

#pragma data_seg("MySection")
int nSize = 10;    // 必须初始化
#pragma data_seg()
#pragma comment(linker,"/SECTION:MySection,RWS")   // 设置可读写

JNAAPI int GetValue()
{
    return nSize;
}

JNAAPI void SetValue(int value)
{
     nSize = value;
}

#endif 

    用exescope查看,发现多出一个MySection段

    

 

    测试: 

    

int main(int argc,char **argv)
{
	// 当前结果
	printf("当前结果:%d\n",GetValue());
	
	// 设置结果
	SetValue(25);	
	printf("设置后的结果:%d\n",GetValue());

	getchar();
	return 0;
}

    启动进程发现打印:10 25

    启动另一个进程打印: 25 25,发现数据已被多个进程共享 

 

  

    

  • 大小: 7.6 KB
分享到:
评论

相关推荐

    利用pragma data_seg实现程序只能单个实例运行

    在Windows环境中,为了实现这一目标,开发者可以利用`#pragma data_seg`指令配合DLL来达到目的。`#pragma data_seg`是C/C++预处理器的一个指令,用于设置数据段的位置,它可以帮助我们在内存中创建共享的数据区域,...

    indoor3d_sem_seg_hdf5_data.zip

    本资源为论文pointnet++语义分割部分的的实验数据集。若有需要做论文复现的可自行取用。 该分享仅用于科学研究,如有侵权,联系删除!

    8LED_SEG_c_Data.rar_XSBase270

    标题中的“8LED_SEG_c_Data.rar_XSBase270”暗示了这是一个关于使用C语言控制8个LED显示的项目,特别针对XSBase270系列的ARM微控制器。这个项目可能涉及到硬件接口编程,LED驱动电路的理解以及C语言编程的基础。 在...

    重要的#pragma声明

    例如,#pragma DATA_SEG DEFAULT定义默认数据段,通常位于0x100以上的地址。MY_ZEROPAGE数据段则位于第0页,提供快速访问,尤其适合存放频繁操作或位变量。数据段属性如__SHORT_SEG和__FAR_SEG分别对应8位和16位寻址...

    segy_SEGY-SEG2_seg2_segy读写_segy_

    在IT行业中,地震勘探数据处理领域常常涉及到一种特定的数据格式,即SEGY(Sequential Geophysical Data Format)。这个格式被广泛用于存储地震数据,因为它能够高效地处理大量的二进制信息。"segy_SEGY-SEG2_seg2_...

    微机原理第4章汇编语言程序设计.pdf

    ASSUME CS:CODE_SEG, DS:DATA_SEG1, ES:DATA_SEG2 START: CODE_SEG ENDS END START ``` 在汇编语言中,常量、变量和标号是程序的基础元素。常量是不可变的值,可以是数值、字符串或符号。变量代表可变的存储位置,...

    MFC 下获取键盘,鼠标的钩子程序

    #pragma data_seg("MySec") HWND g_hWnd=NULL; #pragma data_seg() #pragma comment(linker,"/section:MySec,RWS") /* SEGMENTS MySec READ WRITE SHARE */ #define WM_MSG WM_USER + 500 LRESULT CALLBACK ...

    嵌入式系统中pragma声明

    #pragma DATA_SEG __SHORT_SEG MY_ZEROPAGE volatile struct { unsigned powerOn : 1; unsigned alarmOn : 1; unsigned commActive : 1; unsigned sysError : 1; } myFlag; volatile word msCounter; byte i, j,...

    第6章汇编语言程序设计PPT课件.pptx

    接着,我们看到`ASSUME`伪指令用来设定段寄存器与段之间的对应关系,例如,CS寄存器指向CODE_SEG,DS寄存器指向DATA_SEG,SS寄存器指向STACK_SEG。这样,处理器就知道了在执行指令时应使用哪个段来获取代码、数据或...

    fpga程序-37_spi_flash.zip44_seg_ddr.zip

    标题中的“fpga程序-37_spi_flash.zip44_seg_ddr.zip”表明这是一个与FPGA(Field-Programmable Gate Array,现场可编程门阵列)相关的项目,包含了两个不同的设计实例:37_SPI_FLASH和44_SEG_DDR。描述只提到了...

    c++预处理指令

    7. #pragma data_seg:指定数据段的名称和属性,例如,#pragma data_seg(".data")。 8. #pragma bss_seg:指定bss段的名称和属性,例如,#pragma bss_seg(".bss")。 9. #pragma allocator:指定分配器的名称和属性...

    rembg 库 onnx 模型文件 u2net

    下载解压模型文件,将这些 onnx 模型文件复制到用户目录下的 `.u2net` 文件夹即可。 u2net.onnx u2net_cloth_seg.onnx u2net_human_seg.onnx u2netp.onnx

    c++中__declspec的用法.pdf

    这通常与`#pragma code_seg`, `const_seg`, `data_seg`, `section`, `init_seg`等配合使用,定义代码或数据存储区域。例如,如果你希望某些变量在共享数据段中,你可以这样声明: ```cpp #pragma data_seg("share...

    segd.rar_SEGD_seg

    SEG-D(Society of Exploration Geophysicists - Data)是一种广泛使用的地震数据格式,它允许专业人士存储、交换和分析地震资料。本文将深入探讨SEG-D格式的各个方面,包括其历史背景、文件结构、数据类型以及读写...

    基于FPGA设计的按键消抖实验Verilog逻辑源码Quartus工程文件+文档说明.zip

    基于FPGA的按键消抖实验Verilog逻辑源码Quartus工程文件+文档说明,程序实现按键按下后数字加 1,并在数码管上显示出来,FPGA型号... .seg_data_4 ({1'b1,seg_data_1}), .seg_data_5 ({1'b1,seg_data_0}) ); endmodule

    shapeNet数据集,包括hdf5、带法向量、不带法向量等三种格式数据集-网盘下载链接(永久有效)

    shapeNet数据集,包括hdf5、带法向量、不带法向量等三种格式数据集--网盘下载链接(永久有效)

    back_seg_code.zip_back_back images_fusion

    【标题】"back_seg_code.zip_back_back images_fusion" 是一个与图像融合相关的项目压缩包,其中包含了多种处理和分析图像的代码文件。这个项目主要关注的是如何将闪光灯(Flash)和非闪光灯(Non-Flash)拍摄的图像...

    FPGA读写sd卡实验Verilog逻辑源码Quartus工程文件+文档说明.zip

    .seg_data_5 ({sd_init_done,seg_data_0}) ); always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) wr_cnt ; else if(state == S_WRITE) begin if(sd_sec_write_data_req == 1'b1) ...

    FPGA读写SD卡测试实验 Verilog逻辑源码Quartus工程文件+文档说明.zip

    FPGA读写SD卡测试实验 Verilog逻辑源码Quartus工程文件+文档... .seg_data_5 ({sd_init_done,seg_data_0}) ); always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) wr_cnt ; else if(state == S_WR

Global site tag (gtag.js) - Google Analytics