跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为什么 MSVC 的 LNK2019 错误信息中,函数名前面都有多余的下划线?
未分類
4 11 月 2020

为什么 MSVC 的 LNK2019 错误信息中,函数名前面都有多余的下划线?

为什么 MSVC 的 LNK2019 错误信息中,函数名前面都有多余的下划线?

資深大佬 : AndyAO 4

例如

error LNK2019: unresolved external symbol _snprintf referenced in function _elog_hexdump.

表达的意思是在函数elog_hexdump中引用不存在的符号snprintf,而不是_snprintf.

为什么会这样?

在查看Linker Tools Error LNK2019 | Microsoft Docs,并且去谷歌搜索后也没有找到答案.

大佬有話說 (3)

  • 資深大佬 : Mithril

    一般来说是因为你 DLL 里面导出函数的声明有问题,或者忘了加 lib 文件。
    不过你这个是因为 printf 系列函数全部改成 inline 的了,你得在你的代码里引用 crt 的 header,或者添加上那个 legacy stdio 的 lib

  • 資深大佬 : codehz

    是调用约定的问题,具体内容自己搜索

  • 資深大佬 : si

    搜索:函数名修饰,VC 的编译器会在 C 的函数名前面加个下划线,stdcall 的还在后面加上 @参数字节数。C++的还后面加上参数类型,用不同的字母代表不同的类型。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具