易截截图软件、单文件、免安装、纯绿色、仅160KB

深入分析Windows和Linux动态库应用异同

摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。 但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。 1、引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效率,具有很高的灵活性。 采用动态库技术对于升级软件版本更加容易。与静态库(Static Link Library)不同,动态库里面的函数不是执行程序本身的一部分,而是根据执行需要按需载入,其执行代码可以同时在多个程序中共享。 在Windows和Linux操作系统中,都可采用这种方式进行软件设计,但他们的调用方式以及程序编制方式不尽相同。本文首先分析了在这两种操作系统中通常采用的动态库调用方法以及程序编制方式,然后分析比较了这两种方式的不同之处,最后根据实际移植程序经验,介绍了将VC++编制的Windows动态库移植到Linux下的方法。 2、动态库技术 2.1 Windows动态库技术 动态链接库是实现Windows应用程序共享资源、节省内存空间、提高使用效率的一个重要技术手段。常见的动态库包含外部函数和资源,也有一些动态库只包含资源,如Windows字体资源文件,称之为资源动态链接库。通常动态库以.dll,.drv、.fon等作为后缀。 相应的windows静态库通常以.lib结尾,Windows自己就将一些主要的系统功能以动态库模块的形式实现。 Windows动态库在运行时被系统加载到进程的虚拟空间中,使用从调用进程的虚拟地址空间分配的内存,成为调用进程的一部分。DLL也只能被该进程的线程所访问。DLL的句柄可以被调用进程使用;调用进程的句柄可以被DLL使用。 DLL模块中包含各种导出函数,用于向外界提供服务。DLL可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;一个DLL在内存中只有一个实例;DLL实现了代码封装性;DLL的编制与具体的编程语言及编译器无关,可以通过DLL来实现混合语言编程。DLL函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。 根据调用方式的不同,对动态库的调用可分为静态调用方式和动态调用方式。 (1)静态调用,也称为隐式调用,由编译系统完成对DLL的加载和应用程序结束时DLL卸


相关文档:

Linux下samba的安装与配置


安装samba
文章中提到的smaba安装程序   samba-3.0.20b-1.i386.rpm (ISO)  
1 首先,在VMware内把samba安装文件的镜像文件映射为光驱,如图1-1步骤1-2-3。
 
图1-1
2 然后,使用命令mount /dev/cdrom /mnt/cdrom  作用是把光驱载入到文件夹/mnt/cdrom中,如图1-2 ......

linux实用工具

基本实用工具:
ls  显示文件名(list)
cat  显示文本文件内容
rm [-i]  删除文件(remove),-i打开选项
less/more  分屏显示文件
hostname  显示系统名
文件操作:
cp SOURCEFILE DESTINATIONFILE  复制文件copy
mv OLDNAME NEWNAME  更改文件名(move)
lpr [-p] FILEN ......

Ubuntu Linux操作系统常用命令详细介绍

sudo apt-get install 软件名 安装软件命令
sudo nautilus 打开文件(有root权限)
su root 切换到“root”
ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息
cd .. 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当 ......

linux下ffmpeg 手机视频转换总结

ffmpeg版本:0.5.1 flv -> mp4  ->3gp
#截图:
./ffmpeg -i 视频文件 -y -ss 截图时间 -vframes 1 -f image2 -s 128x96 目标文件名;
#生成预览版:
./ffmpeg -i out.3gp -ss 00:00:00 -t 00:00:10 -s qcif -acodec copy -vcodec copy -y preview.3gp
#转换16:9 flv视频到 4:3的mp4视频
ffmpeg -i src. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号