C标准库函数(ex.printf,scanf)是否被视为静态库函数或动态库函数?
答案 0 :(得分:5)
这取决于您如何链接您的程序。你可以双向前进。在VS上,您可以指定/MT
(静态)或/MD
(动态)。在gcc上,您可以指定-static-libgcc
标志以将程序与静态库链接。
有关gcc标志的详细信息,请参阅http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html,有关VS的http://msdn.microsoft.com/en-us/library/abx4dbyh(v=vs.80).aspx请参阅。
答案 1 :(得分:2)
你真的不在乎。
编译器甚至可以专门处理一些标准函数,只要它根据标准定义的那样执行。
有时候GCC会做这样的事情,例如它可能会优化对memset的调用来循环...
如果您的问题是如何链接您的程序foo
,那么在GNU / Linux上,命令ldd foo
会回答这个问题。
干杯。