PS:
我也才接触,只是把自己一些简单的理解写出来,理解不深,甚至有些可能理解有误,如果朋友们发现了@我修改,谢谢!
开发平台:visual studio 2015
条件:生成的动态库要是本机方式,不是托管的
一:托管和非托管的简单介绍
简单的说,就是代码被编译成MSIL后在.net的Framework下运行,同操作系统底层的交互都交给framework去做,这就是托管,托管给framework。
所谓非托管,就是脱离了Framework的管制,直接同底层API打交道,自己管理自己的内存和安全机制等东西。而托管代码就不管这些,全都由Framework去完成
visual studio 下 c#编写的代码,就是托管代码,它必须依托framework框架,也就是说,如果我用c#写了一个winform的应用程序,如果把这个运行文件拷贝到另一台没有framework框架的电脑上,则该运行文件文能运行起来;
visual studio下vc++编写的就是非托管代码(本机形式的),它的运行文件可以直接拷贝到任何电脑上运行。
二:动态库和静态库
动态库:如果配置成生成动态库的话,会编译出 .dll文件和 .lib文件;
静态库:如果配置成生成静态库的话,置会编译出 .lib文件。
三:生成动态库和静态库的步骤
1:打开visual studio2015,新建一个“ win32项目 ”,然后点“下一步”,然后按照下图选择“DLL”(此处就是要求生成动态库),最后点击“完成”
二:接着就会出现下图界面,这就是编辑代码的界面
三:创建 .c 文件和头文件 .h ,并写写简单的函数
四:接着就配置项目,让其生成的库是动态库或静态库
在窗体的解决方案管理器中,鼠标右键新建的项目“win32project_lib”,选择属性,会弹出下面界面,选择动态库,完后buid,就会生成 .dl文件,如选择静态库,build就会生成 .lib文件。l