今天学到的一些概念记录
来源:互联网 发布:nginx 错误页面配置 编辑:程序博客网 时间:2024/06/16 00:29
代码走查(code walkthrough):
是一个开发人员与架构师集中讨论代码的过程。代码走查的目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。 在代码走查的过程中,开发人员都应该有机会向其他人来阐述他们的代码。 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误并预想出对以前麻烦问题的新的解决办法。
Linux静态库与动态库的生成及调用:
调用有显示调用,也可以不显示调用,直接在gcc命令中加上相关库及路径即可
http://www.51testing.com/html/34/n-829334-2.html
http://www.cnblogs.com/gulvzhe/archive/2012/06/27/2565983.html
http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html(这篇博文讲了linux和windows动态库的比较)
两种系统动态库比较分析
Windows动态库在运行时被系统加载到进程的虚拟空间中,使用从调用进程的虚拟地址空间分配的内存,成为调用进程的一部分。DLL也只 能被该进程的线程所访问。DLL的句柄可以被调用进程使用;调用进程的句柄可以被DLL使用。DLL模块中包含各种导出函数,用于向外界提供服务。DLL 可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;一个DLL在内存中只有一个实例;DLL实现了代码封装性;DLL的编制 与具体的编程语言及编译器无关,可以通过DLL来实现混合语言编程。DLL函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。
根据调用方式的不同,对动态库的调用可分为静态调用方式和动态调用方式。
Windows和Linux采用动态链接库技术目的是基本一致的,但由于操作系统的不同,他们在许多方面还是不尽相同,下面从以下几个方面进行阐述。
(1)动态库程序编写,在Windows系统下的执行文件格式是PE格式,动态库需要一个DllMain函数作为初始化的人口,通常在导出函 数的声明时需要有_declspec(dllexport)关键字。Linux下的gcc编译的执行文件默认是ELF格式,不需要初始化入口,亦不需要到 函数做特别声明,编写比较方便。
(2)动态库编译,在windows系统下面,有方便的调试编译环境,通常不用自己去编写makefile文件,但在linux下面,需要自己动手去编写makefile文件,因此,必须掌握一定的makefile编写技巧,另外,通常Linux编译规则相对严格。
(3)动态库调用方面,Windows和Linux对其下编制的动态库都可以采用显式调用或隐式调用,但具体的调用方式也不尽相同。
(4)动态库输出函数查看,在Windows中,有许多工具和软件可以进行查看DLL中所输出的函数,例如命令行方式的dumpbin以及 VC ++工具中的DEPENDS程序。在Linux系统中通常采用nm来查看输出函数,也可以使用ldd查看程序隐式链接的共享对象文件。
(5)对操作系统的依赖,这两种动态库运行依赖于各自的操作系统,不能跨平台使用。因此,对于实现相同功能的动态库,必须为两种不同的操作系统提供不同的动态库版本。
http://blog.chinaunix.net/uid-26921272-id-3418298.html
c++异常处理:
http://www.cnblogs.com/catch/p/3604516.html
http://www.cnblogs.com/catch/p/3619379.html
- 今天学到的一些概念记录
- 记录今天学到的东西
- 今天学到的一些东西
- 今天学到的一些命令
- 今天学到的C++的一些新知识!
- 自己学到的C++一些技巧记录
- 今天面试学到的
- Vim今天学到的
- Vim今天学到的
- Vim今天学到的
- Vim今天学到的
- 今天学到的东西
- 今天学到的
- 今天学到的新知识
- 我今天学到的语言
- Tomcat服务器今天学到的
- 我今天学到的java
- 今天学到的git常用命令
- java反射机制学习笔记与Method类invoke方法jvm底层优化方案
- 操作系统知识总结
- 绝对是一个奇葩经历,一定要记下来
- same-tree
- 慕课网app下拉刷新图标填充效果的实现
- 今天学到的一些概念记录
- 集合详解(五):集合嵌套与Collections工具类
- maven springmvc
- Andrew NG 机器学习课程笔记(四)
- 关于Bar(二)----SeekBar&RatingBar
- 从Qt4 迁移到Qt5 winEvent代替为nativeEvent
- HDU3791
- hdoj 1075 What Are You Talking About 【STL map+string】
- [leetcode][string] Count and Say