一、菜单栏 新建->项目->ATL->ATL项目->动态链接库 后续默认完成二、菜单栏 项目->添加类->ATL控件->“写入类的命名如:CeshiMain”下一步->1、如果需要连接点事件,勾选连接点2、如果需要对话框资源的话 “控件类型”选择“复合控件”,如果不需要选择“标准控件”其他的默认就好 ...
分类:
其他好文 时间:
2019-10-23 20:27:22
阅读次数:
83
动态链接库与共享内存: 我们知道,动态链接库(在windows上表现为.dll,在linux下表现为.so)采用的是延迟加载机制,即程序在运行的过程中在被调用的时候才会被加载。一个动态库在内存中只存在一份,可以被多个进程共享。这样做很明显可以节省内存空间。 那么问题来了:共享内存在内存中也是只存在一 ...
分类:
其他好文 时间:
2019-10-22 20:38:05
阅读次数:
89
最近需要用curl来发送http请求,遇到了不少问题,查了不少资料,都是零零散散的,现在总结下。 1、移植编译 1 ./configure --prefix=$(PWD)/build --host=arm-XXX-linux;make ;make install 这步基本都没有问题,生成的动态链接库 ...
分类:
Web程序 时间:
2019-10-11 20:21:46
阅读次数:
142
动态链接库DLL文件与EXE文件一样也是可执行文件,但是DLL也被称为库,因为里面封装了各种类、函数之类的东西,就像一个库一样,存着很多东西,主要是用来调用的。调用方式主要分为两种:隐式(通过lib文件与头文件)与显式(只通过DL文件)。 二、为什么使用DLL? 微软方面一边开源了很多代码,比如MF ...
分类:
编程语言 时间:
2019-10-09 19:07:17
阅读次数:
117
http://c.biancheng.net/view/3901.html 对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示: 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux ...
分类:
系统相关 时间:
2019-10-09 15:26:23
阅读次数:
124
tomcat默认有三种工作模式,分别为 (1)BIO(blocking I/O)即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。一个线程处理一个请求,缺点:并发量高时,线程数较多,浪费资源。 使用方式:现在通常不使用 (2)NIO(new I/O ...
分类:
其他好文 时间:
2019-10-06 13:09:44
阅读次数:
93
前面提到过C++具有函数重载功能,所以引出的函数名会有变化,即名称改编,如果是C语言编写的客户端则无法正确识别。 处理方法: ①只需在宏定义中间增加 extern "C",但这种使用仅针对导出的函数是全局的,如果导出的是类,则不能这样。 ②通过dumpbin查看导出的函数信息,可以看到函数名称跟我们 ...
分类:
编程语言 时间:
2019-10-05 00:44:34
阅读次数:
198
如何在动态链接库里导出一个类? ①在库头文件里增加一个类声明,class DLL1_API Point是将类内所有成员都导出,如果只导出某个成员函数,则只需在对应的成员函数前加DLL1_API即可; 注意的是导出类访问权限也受public和private限制; ②在库源程序里完善成员函数定义; ③在 ...
分类:
编程语言 时间:
2019-10-05 00:29:55
阅读次数:
278
因为动态链接库里的内容是自己定义的,所以在外部程序调用时我们自己知道库里包含哪些变量和函数,如果我们提供库给其他人使用,则最好增加一个头文件,告知库里包含的函数; ①将动态链接库源文件内容增加红色框内容,因为编译时候是不编译头文件的,通过include展开头文件; ②增加一个头文件,内容如下,如果外 ...
分类:
编程语言 时间:
2019-10-04 23:15:46
阅读次数:
94
静态库:函数和数据被编译进一个二进制文件,通常扩展名为.lib,在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件。 动态库:往往提供2个文件,一个是引入库和一个DLL,引入库包含被DLL导出的函数和变量的符号名,DL ...
分类:
编程语言 时间:
2019-10-04 11:25:22
阅读次数:
705