?????????????????mylib.c??????????:
????/* mylib.c */
??????i nclude
????void foo()
????{
????printf("%s"??"I am from mylib!/n");
????}
??????
????cl /c /MLd mylib.c
??????????????/MLd????????libcd.lib????????lib.exe??VC???????????????????????????????????????????
????lib /OUT:my.lib mylib.obj
??????mylib.obj???????????????????my.lib??????????main.c???:
????/* main.c */
????void foo();
????int main()
????{
????foo();
????return 0;
????}
??????
????cl /c main.c
?????????????
????link main.obj my.lib
????????????????????????????????main.exe?????????LNK2005??LNK1169 ????????????????????????????:"warning LNK4098: defaultlib "LIBCD" conflicts with use of other libs; use /NODEFAULTLIB:library"??????????????????????????????????????????????些???
????????E??U??D????????????????????璧絤ain.obj??????????E?????????未??????foo????U????main????D????????? main.obj???????????libc.lib?????????????????????????斜???尾?????????my.lib?????????????????????U?械????蟹???(??????????foo)??my.lib?械???????????(??????????mylib.obj)????????????????槎�????U?械???????? mylib.obj????????foo??????????????E??foo??U????D??mylib.obj?????printf????U???????? mylib.obj??????????????libcd.lib?????????????????????斜???尾(??libc.lib?????)?????????my.lib???????????械????????U?械????????U??D??????浠�????????????????????????????????????????????????????????????libc.lib????????????libc.lib???printf.obj??????printf??????printf??U???D????printf.obj??????E????????????蟹??????D?????????未???????????U???????????????????????????些????????????????????(????crt0.obj??)????????????????(????malloc.obj??free.obj??)???????E?校???????U??D????????浠�???????????????????????未?????????????????????????????????澹�????????????????libc.lib???U????????????libcd.lib????????U????????????????????????????????????????????????瑁�?????E?械??????榘�?????????????
?????????????????????????????????姹�????????????????????????????????????????????????????渭????????
???????mylib.c?????????:
??????include
????void foo()
????{
????// just a test ?? don"t care memory leak
????_malloc_dbg( 1?? _NORMAL_BLOCK?? __FILE__?? __LINE__ );
????}
????????_malloc_dbg????ANSI C??????????????VC?????????malloc?????妫�???????????????????????????????????????????????_DEBUG???????????????????????malloc????????
????cl /c /MLd mylib.c
????lib /OUT:my.lib mylib.obj
???????????????????
????link main.obj my.lib
?????????????????????????????????????LNK2005????????"fatal error"??LNK1169?????????????????LNK4098???????????????????????????????????????????????????????????????????????掳????
????????E??U??D?????????????main.obj??????????E????foo????U????main????D????libc.lib???????????????斜???尾?????????my.lib??foo??U????D??_malloc_dbg????U??libcd.lib??????????????斜??尾?????????? libc.lib?????????libc.lib???魏?????????槎�??卸???_malloc_dbg(???????????????写???)????????????魏??????????_malloc_dbg??????E??????????????????????????(??crt0.obj??)????????????????(????malloc.obj?? free.obj??)????????????E?校???U??D??????????????浠�????????????????libc.lib???U??_malloc_dbg??????????????libcd.lib??????dbgheap.obj??????_malloc_dbg??????dbgheap.obj????E?????????未???????????U??????????????????????????D?????????????????malloc??????????D??(????libc.lib???malloc.obj????E???????)????dbgheap.obj??????????malloc???????????????????????????????????????????卸?????????????
?????????????????????????????????危???????????????????????????????????????姹�????渭???????(main.obj)?????? (my.lib)????????????????????????????????????/MLd??????????main.c??????/ML????????mylib.c??
???????????????校???????锌?my.lib???????(mylib.c)??????????貌??????????卤?????些???????未??????????????????????????????????????????????懈???????????????????????些????????????????????????????????????????VC???????小???????????????????dumpbin.exe?????????????????
????dumpbin /DIRECTIVES my.lib
??????????????????些"Linker Directives"????????????????????????????????????????????????"-defaultlib:XXXX"?????????????????XXXX????????????????????????
???????????????????????????????煤?????????????????贸??????????LNK2005??LNK1169 ??????????IDE????????????????? "Project????" -> "C/C++" -> "????????(code generation)" -> "???????(run-time library)" ??????????贸???????????姹�????????????????效??????????
???????????
?????? Project/Setting/Link/General?械? Project Options: ???? /FORCE:MULTIPLE???伞?