1.run-time library
动态链接库版本:/md multithreaded dll 使用导入库msvcrt.lib/mdd debug multithreaded dll 使用导入库msvcrtd.lib 【程序编程相关:Visual C++ ADO数据库编程入】
run-time library是编译器提供的标准库,提供一些基本的库函数与系统调用.我们一般使用的run-time library是c run-time libraries.当然也有standard c++ libraries. c run-time libraries实现ansi c的标准库.vc安装目录的crt目录有c run-time库的大部分源代码.c run-time libraries有静态库版本,也有动态链接库版本;有单线程版本,也有多线程版本;还有调试与非调试版本.可以在"project"-"settings"-"c/c++"-"code generation"中选择run-time library的版本. 【推荐阅读:Pro Developer: Impro】
c run-time library的标准io部分与操作系统的关系很密切,在windows上,crt的io部分代码只是一个包装,底层要用到操作系统内核kernel32.dll中的函数,在编译时使用导入库kernel32.lib.这也就是为什么在嵌入式环境中,我们一般不能直接使用c标准库.在linux环境当然也有c标准库,例如:ld -o output /lib/crt0.o hello.o -lc参数"-lc"就是在引用c标准库libc.a.猜一猜"-lm"引用哪个库文件? 【扩展信息:简析Visual C++中的活动数据对象】
静态库版本:/ml single-threaded 使用静态库libc.lib /mld debug single-threaded 使用静态库libcd.lib/mt multithreaded 使用静态库libcmt.lib/mtd debug multithreaded 使用静态库libcmtd.lib
2.常见的编译参数
vc建立项目时总会定义"win32".控制台程序会定义"_console",否则会定义"_windows".debug版定义"_debug",release版定义"ndebug" ... 下一页