12 2011 档案

摘要:摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。1、引言动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效率,具有很高的灵活性。采用动态库技术对于升级软件版本更加容易。与静 阅读全文
posted @ 2011-12-13 21:04 moonbay 阅读(288) 评论(0) 推荐(0)
摘要:这题想了好久,代码也打了好久。挺不错的一道数论题。题目是要求两个集合(1...b, 1...d)中有多少对数的最大公约数为K,此问题等价于求两个集合(1...b/k,1...d/k)中有多少对数互质。不妨设b<d,则题目可以分为两部分求解,即:①(1...b)与(1...b)中有多少对数互质②(1...b)与(b+1...d)中有多少对数互质问题1就是欧拉函数的应用,就不详细说了。对于问题2,直接求不好求,我们倒过来想。对于(b+1...d)中的每一个y,要想知道(1...b)中有多少数与它互质,我们只需要知道多少个数与它不互质即可。而两个数不互质就意味着它们有公因子。对于每一个y的因子 阅读全文
posted @ 2011-12-11 14:35 moonbay 阅读(316) 评论(0) 推荐(0)
摘要:一、位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位 域的定义和位域变量的说明位域定义与结构定义相仿,其形式为: struct 位域结构名 { 位域列表 }; 其中位域列表的形式为: 类型说明符 位域名:位域长度... 阅读全文
posted @ 2011-12-08 15:07 moonbay 阅读(627) 评论(0) 推荐(0)
摘要:库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 使用库 当 要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。 阅读全文
posted @ 2011-12-06 16:30 moonbay 阅读(276) 评论(0) 推荐(0)
摘要:直接上代码/* * hdu1596/win.cpp * Created on: 2011-12-5 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>using namespace std;typedef double typec;const int SIZE = 1005;cons 阅读全文
posted @ 2011-12-05 15:29 moonbay 阅读(156) 评论(0) 推荐(0)