- 博客(15)
- 资源 (7)
- 收藏
- 关注
转载 海量数据面试题整理
<br />1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?<br />方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。<br />s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。<br />s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记
2010-10-06 11:36:00 347
转载 数据结构:TRIE树
<br />TRIE树<br />Trie树就是字符树,其核心思想就是空间换时间。<br />举个简单的例子。<br />给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。<br />这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如说对于某一个单词,我要询问它的前缀是否出现过。这样hash就不好搞了,而用trie还是很简单。<br />现在回到例子中,如果我们用最傻的方法,对于每一个单词,我们都要去查找它前面的
2010-10-06 11:19:00 528
原创 const用法
<br /><br />优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)const主要是为了程序的健壮型,减少程序出错.<br />最基本的用法:<br />const int a=100; b的内容不变,b只能是100也就是声明一个int类型的常量(#define b =100)<br />int const b=100; //和上面作用一样<br />const指针和引用
2010-09-11 17:29:00 660
原创 c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
<br /><br /> http://www.itwis.com/html/net/net20/20071008/366.html<br />我用的是VS2005的开发环境,后来发现使用[DllImport("Judge.dll")]后提示 无法加载 DLL “Judge.dll” 找不到指定的模块!我这时就把Judge.dll拷贝到Bin目录下,但仍然提示找不到DLL,在工程里添加DLL引用的时候,发现添加这个非托管DLL就会令VS2005异常退出(上网搜索后也发现有人有相同的问题)。<br />
2010-09-08 09:24:00 39313 7
转载 堆和栈的区别
<br /> 一、预备知识—程序的内存分配 <br /> 一个由C/C++编译的程序占用的内存分为以下几个部分 <br /> 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 <br /> 操作方式类似于数据结构中的栈。 <br /> 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 <br /> 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 <br /> 3
2010-08-31 10:42:00 590
转载 C++中的虚函数,多态,覆盖隐藏重载
今天上网看C++的一些资料,突然看到虚函数,突然让我回想起继承,覆盖什么的,决定总结一些资料,加上自己的体会写一篇 C++中的虚函数(virtual function) 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A{public:virtual void foo() { cout };class B: public A{public:virtual void foo() { cout }; 那么,在使用
2010-08-24 16:28:00 686
转载 C内存操作
<br /><br />一、使用指针做函数返回值:<br />1、当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册,不会被释放,即可能被其他操作修改);<br />2、使用栈内存返回指针是明显错误的,因为栈内存将在调用结束后自动释放,从而主函数使用该地址空间将很危险。<br /> 例如:<br /> char* GetMemory()<
2010-08-24 10:28:00 1242
转载 手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
<br /><br />1:新建安装部署项目<br />打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)2:安装向导中国关闭后打开安装向导,点击下一步,或者直接点击完成.中国Web技术站-[9H j I)h,X0r @<br />如下图: <br /><br /><br /> <br /><br />3:开始制作 安装向导完成后即可进入项目文件夹:<br /> <br /><br />双击"应用程序文件夹"在右边的空白处右击,选择添加-
2010-06-21 11:00:00 505
转载 在 C# 中加载自己编写的动态链接库
<br />一、发生的背景 <br /> 在开发新项目中使用了新的语言开发 C# 和新的技术方案 WEB Service,但是在新项目中,一些旧的模块需要继续使用,一般是采用 C 或 C++ 或 Delphi 编写的,如何利用旧模块对于开发人员来说,有三种可用方法供选择:第一、将 C 或 C++ 函数用 C# 彻底改写一遍,这样整个项目代码比较统一,维护也方便一些。但是尽管微软以及某些书籍说,C# 和 C++ 如何接近,但是改写起来还是很痛苦的事情,特别是 C++ 里的指针和内存操作;第二、将 C
2010-06-20 19:57:00 445
转载 C#读写XML文件
<br /><br />**************************** phone.xml ****************************<br /><?xml version="1.0" encoding="utf-8" ?> <br /><PhoneBook><br /> <phone id="001"><br /> <Name>加菲尔德</Name> <br /> <Number>5555555</Number><br /> <City>纽约</City><br /> <D
2010-06-20 19:54:00 346
转载 C#(.net)中的DllImport 调用C/VC DLL
<br />大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。<br /> DllImport所在的名字空间 using System.Runtime.InteropServices;<br /> MSDN中对DllImportAttribute的解释是这样的:可将该属性应用
2010-06-18 16:27:00 436
转载 C#调用C++写的dll,C++调用C++的dll
C#语言使用方便,入门门槛较代,上手容易,并且语法与C,java有很类似的地方,IDE做的也好,通用性好,是MS下一代开发的主要力量.但是其开源代码较少,类库不是十分完美,在架构方面还有一些需要做的工作.C++写的程序占用内存较小,直接对内存或者文件操作,因此一些关键的步骤或者一些最内层的循环在一定程序上还需要依赖C++.下面我做一些简单的例子第一步,用C++做一个可以导出函数的dll(不采用def文件)cxyMath.h//在这里定义导出哪一些函数class MyMathFuncs...{public:
2010-06-17 16:05:00 450
转载 TeeChart 在BCB6中的安装问题
<br />1. 先卸载BCB中的旧版本--》Component--》Install Packages--》找到TeeChart,点击Remove <br />2. 将TeeChart 7.0解压缩到某目录,然后执行TeeRecompile.exe编译,出错不必理会 <br />3. 复制TeeChart7目录下的setup/Source目录下的*.bpl和*.bpi文件到$(BCB)/Projects/Bpl目录,复制*.lib文件到$(BCB)/Projects/lib目录。 <br
2010-06-09 21:57:00 1559
转载 Windows动态链接库基础知识
<br />最近了解了一下Windows动态链接库的基础知识,现在整理一下,希望能对初学者有点帮助。 <br /> 如我们所知,Windows程序都是一些可执行文件,它们可以创建并显示一个或多个窗体,使用消息循环来接收用户的输入。但是动态链接库并不能直接被执行,它们一般也不会接收消息。它们只是一些包含着函数的独立文件,这些函数可以被Windows程序或者其它DLL调用以完成某项任务。 <br /> “动态链接”是指Windows程序在运行时才把自己需要存在于某个库中的函数链接进来。“静态链接”是指Win
2010-06-09 15:55:00 1613
转载 C++文本文件读写的方法
<br />掌握文本文件读写的方法<br />了解二进制文件的读写方法<br />C++文件流:<br />fstream // 文件流<br />ifstream // 输入文件流<br />ofstream // 输出文件流<br />//创建一个文本文件并写入信息<br />//同向屏幕上输出信息一样将信息输出至文件<br />#include<iomanip.h><br />#include<fstream.h><br />void main()<br />{<br /> ofstream
2010-06-08 15:19:00 459
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人