你用库函数 肯定头文件在开始啊,因为要看到函数声明,编译器才能确定函数符号表,以使编译过程进行去。 对于库,现在基本都是动态库,以windows为例,它们都是PE文件,关键是导出表的符号名。这个是要写入生成的PE文件的,因为程序有pe loader加载的时候,需要知道使用的导出函数的名,以便确认库函数的实际虚拟内存地址。 这个过程是链接,链接技术不只是简单的在编译后的链接,还指运行时的链接,因为库是有链接器 linker来完成的,所以在源码中写在哪里都好了。。一般都是写在头上 比如 #pragma comment(lib, "ws2_32.lib")
API函数的声明文件,一般在VC的include目录中,一般加上 windows.h就差不多了,但是有些函数 比如ShellExecuteEx,这个就需要shellapi.h头文件,具体则需要查询MSDN。
函数的代码,都在DLL文件。正是因为此,很多高手都会查询DLL文件的导出函数,以便发现MSDN没有的函数。。