--专注C++ --MSN:tszhao10@hotmail.com
在VC中,可能需要在同一个.exe或DLL的多个实例之间共享变量,我们可以通过把需要共享的数据放到一个单独的段中即可。创建新段的方法如下:
其中,sectionname为你想要创建的段名。注意,该段中只能存放已经进行了初始化的变量,对于未初始化的变量,编译器就会将该变量放到sectionname段之外,但是,allocate声明符可以允许我们将未初始化的数据放到想要的段中。代码如下:
注意:在使用allocate声明符的时候,必须已经创建对应的段,如上面所示的Shared段。如果要共享变量,还必须告诉链接器要共享这个段中的变量。可以通过在链接器中的命令行中使用/SECTION开关来实现:
比如上例所示的Shared段,应按如下所示:
其中的R表示READ,W表示WRITE,S表示SHARED,E表示EXECUTE。如果想要改变多个段的属性,必须使用多个/SECTION开关。一个开关对应一个段。也可以直接把链接器开关嵌入到源代码中:
Copyright @ tszhao Powered by: .Text and ASP.NET Theme by: .NET Monster