问题
I'm new to c++ programming and currently working on an llvm front-end development project. When I link the object files created by llc, my linker cannot locate the following functions. I know that these are standard c++ library functions but using -lstdc++ doesn't work. Now my question is that where are these functions defined and how can I link them with my object files, and actually what do they do?
declare noalias i8* @_Znam(i64)
declare noalias i8* @_Znwm(i64)
回答1:
These functions are standard C++ library functions, in particular, operator new[](unsigned long) and operator new(unsigned long). They should be provided by your C++ runtime library. Depending on which compiler you're using this will be libsupc++ or libc++abi or libcxxrt.
来源:https://stackoverflow.com/questions/14301899/llinking-znam-and-znwm