您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

链接到可执行文件时,如何强制将目标文件包含在静态库中?

链接到可执行文件时,如何强制将目标文件包含在静态库中?

原来,我最初的尝试大部分都在那儿。以下作品:

extern "C" void Af(void);
void (*Af_fp)(void) = &Af;

对于那些想要一个独立的预处理器宏来封装它的人:

#if defined(_WIN32)
# if defined(_WIN64)
#  define FORCE_UNDEFINED_SYMBOL(x) __pragma(comment (linker, "/export:" #x))
# else
#  define FORCE_UNDEFINED_SYMBOL(x) __pragma(comment (linker, "/export:_" #x))
# endif
#else
# define FORCE_UNDEFINED_SYMBOL(x) extern "C" void x(void); void (*__ ## x ## _fp)(void)=&x;
#endif

因此使用:

FORCE_UNDEFINED_SYMBOL(Af)
其他 2022/1/1 18:17:55 有351人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶