另一个作法是在联结器命令列参数中指定属性。rws 代表 read、write、shared:
link /section:sharedat, rws <其它的联结器选项及文件名称>
我应该告诉你一些「使用者需知」之类的警告。如果你将你的数据初始化为程序代码或资料符号的指针,那么当 dll 被加载于不同行程的不同线性地址上,事情会变得颇为有趣。看看这个表面上没有什么问题的数据宣告(在一个可共享的data section 中):
int i;
int *addressof_i = &i;
另一个作法是在联结器命令列参数中指定属性。rws 代表 read、write、shared:
link /section:sharedat, rws <其它的联结器选项及文件名称>
我应该告诉你一些「使用者需知」之类的警告。如果你将你的数据初始化为程序代码或资料符号的指针,那么当 dll 被加载于不同行程的不同线性地址上,事情会变得颇为有趣。看看这个表面上没有什么问题的数据宣告(在一个可共享的data section 中):
int i;
int *addressof_i = &i;