有没有办法指示MinGW-w64或CodeBlocks项目在def文件中生成这样的行:
func2=func1
int __attribute__((dllimport)) Double (int);
int __attribute__((dllexport,alias("Double"))) NextDouble(int);
我认为这会有效,但编译器会发出错误:
|2|error: 'NextDouble' aliased to undefined symbol 'Double'|
有没有办法绕过链接器的别名?
澄清:
我有一个DLL的导入库,它导出Double。我正在尝试创建第二个DLL,它将导入Double并导出NextDouble,它将指向导入的Double的地址。就像我将在def文件中执行NextDouble = Double一样。这将导致在dll中导出NextDouble以导入Double。
答案 0 :(得分:0)
这里是预处理器,可以将字符添加到-o phase命令行:
#define first ".section .drectve\n.ascii\"
#define last \""
#define addcmd(name) first name last
#define cmd(name) asm(addcmd( name ))
cmd(thingtoadd)
所以你可以添加任何意味着def文件的东西。