c++ - 链接@_Znam 和@_Znwm

标签 c++ llvm std

我是 C++ 编程的新手,目前正在从事 llvm 前端开发项目。当我链接由 llc 创建的目标文件时,我的链接器找不到以下函数。我知道这些是标准的 c++ 库函数,但使用 -lstdc++ 不起作用。现在我的问题是,这些函数在哪里定义,我如何将它们与我的目标文件链接起来,它们实际上做了什么?

declare noalias i8* @_Znam(i64)

declare noalias i8* @_Znwm(i64)

最佳答案

这些函数是标准的 C++ 库函数,特别是 operator new[](unsigned long)operator new(unsigned long)。它们应该由您的 C++ 运行时库提供。根据您使用的编译器,这将是 libsupc++ 或 libc++abi 或 libcxxrt。

关于c++ - 链接@_Znam 和@_Znwm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14301899/

相关文章:

C++ 源代码错误——计算距离和总和的差异

c++ - 在线编译器对计算机内存的影响

c++ - 我可以控制鼠标属性,例如点击速度吗?

c++ - 根据非静态值对结构进行排序 (C++)

c++ - boost::lockfree 中的 "wait-free"到底是什么意思?

c++ - 对 std::string 数组进行二进制搜索

xcode - 如何告诉 Xcode 为 Swift 发出 IR(LLVM Bitcode)?

objective-c - 在什么情况下@synthesize 在 Objective-c 中是自动的?

objective-c - 警告 : duplicate protocol definition of '...' is ignored

c++ - 标准字符串查找方法和计数算法的逻辑错误