使用RadAsm设置dll共享段

在使用RadAsm时,如果我们要设置一个dll共享段,例如设置.data?段为共享段。

可以在工程选项中添加

/SECTION:name,[E][R][W][S][D][K][L][P][X]

其中S表示共享,已初期化的段名是.data,未初始化的段名是.bss。假如您想要写一个包含钩子函数的

DLL,而且想使它的未初始化的数据段在所有进程间共享,您必须这么做:

写法如下:
/section:.bss|S  

不能写成,/section:.bss,S

但是您在makefile中可以这么写:

NAME = Hooker
OBJS = $(NAME).obj
RES   = $(NAME).res
DEF   = $(NAME).def
DLL_FILE = $(NAME).dll
CompilePath = C:/RadASM/masm32/

####################################################
# 创建共享数据段的DLL时使用的连接选项
# LINK_FLAG = /subsystem:windows /Dll /section:.bss,S
####################################################

#连接选项
LINK_FLAG = /SUBSYSTEM:WINDOWS /RELEASE /DLL /SECTION:.bss,S /DEF:$(DEF) /LIBPATH:$(CompilePath)/lib
#编译选项
ML_FLAG   = /c /coff /Cp /nologo /I"$(CompilePath)/include"


$(NAME).dll: $(OBJS) $(RES)
$(CompilePath)/bin/Link.exe $(LINK_FLAG) $(OBJS) $(RES) /OUT:$(DLL_FILE)
.asm.obj:
$(CompilePath)/bin/ml.exe $(ML_FLAG) $<
.rc.res:
$(CompilePath)/bin/rc.exe $<

clean:
del *.obj
del *.res

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值