c/c++
shark863
挣扎,一直在挣扎
展开
-
搜索引擎技术资源篇-2(转载)
搜索引擎的策略都是采用服务器群集和分布式计算技术。(搜索引擎技术资源篇-1) 经典文章: google早期论文 The Anatomy of a Large-Scale Hypertextual Web Search Engine if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; sh转载 2007-08-23 10:05:00 · 689 阅读 · 0 评论 -
dynamic_cast、static_cast、const_cast 和 reinterpret_cast
dynamic_cast、static_cast、const_cast 和 reinterpret_cast 一、dynamic_cast: 用法: dynamic_cast (expression).将expression转化为具有type-id型的指针。type-id必须是一个 指针、引用(一个已经定义的类)或者void指针。如果是个指针转载 2008-04-10 14:03:00 · 798 阅读 · 0 评论 -
c++的const应用
对于基本声明1. const int r=100; //标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时替换2. extend const int r=100; //将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地转载 2008-03-13 00:50:00 · 696 阅读 · 0 评论 -
eclipse+cdt+cygwin配置的“launch failed no binaries” 错误
前一阵整eclipse+cdt+cygwin 做c++程序,按照教程一个一个都装好了,最后makefile的时候,老是出 launch failed no binaries 错误,记得以前出现的时候解决过,成功后会在project上多一个binaries的目录,里面是编译成功的win下认的可可以在consoe下调试的二进制文件,但是由于机器出问题,把eslipse给弄没了,从新re-install原创 2008-03-09 20:49:00 · 10264 阅读 · 4 评论 -
linux下编程之-- 位运算
C语言中的位运算 在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作转载 2008-02-28 01:30:00 · 564 阅读 · 0 评论 -
linux下编程学习----- 远程过程调用(rpc)
以下文字引用自http://www.yuanma.org/data/2006/0918/article_1560.htm一、概述 在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系。因此这种结构在网络日益发展的今天已无法适应实际需求。总而言之,传统过程调用模式转载 2008-02-19 18:14:00 · 4524 阅读 · 0 评论 -
linux下编程学习--- 静态库和动态库的编译
学习linux下c很长一段对动态库和静态库的编译和使用总是透着雾水,今天看了一本书《Linux程序设计第2版》,总算弄清楚了,所谓库文件是预先编译好的函数集合,函数库一般分为静态和共享两种格式。静态库:静态库也叫档案(archive),他们的名字都按管理 *.a 命名,其实说白了,所谓的静态库也就是被归档的 二进制目标代码文件,当要使用时,就用include 来包含该库原创 2008-02-03 16:28:00 · 598 阅读 · 0 评论 -
linux下编程学习----- 线程同步之无名信号量
这是一个书上的例子,逻辑是:一个线程生产一组数字1、2、3..... 等等,放入一个循环队列中。另一个线程去处理这些数字,达到的效果是把这些数字求和。还是看看代码吧。 #include #include #include #include #include #define BUFSIZE 4#define NUMBER 8int sum_of_number=0;/* 可读 和 可写资原创 2008-02-04 14:49:00 · 765 阅读 · 0 评论 -
[转载]堆和栈的区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全转载 2008-01-29 13:07:00 · 497 阅读 · 0 评论 -
C和C++中如何互相调用
因为历史上是先有C后有C++,所以C++中调用C中的函数加个extern "C" 既可.假如C的文件为c.c和c.h,C中有C_fun()函数C++的文件为cpp.cpp和cpp.h-----------------------------------------------------------------------------c.h的实现#ifndef _c_h_#define _c_h_原创 2007-09-12 12:36:00 · 855 阅读 · 0 评论 -
ourhdr.h
/*Our own header, to be included after all standard system headers*/#ifndef __ourhdr_h #define __ourhdr_h #include /*for definition of errno */#include /*ANSI C header file*/#include原创 2007-09-16 12:06:00 · 1804 阅读 · 0 评论 -
使用 setfill、setw 和 setprecision 基数的示例
使用 setfill、setw 和 setprecision 操作器,这些操作器带有参数,并在头文件 iomanip.h 中定义。因此,此头文件必须包括在程序中。 #include #include #include void main() { int amt1 = 100, amt2 = 12345; float f1 = 10.0/3.0; cout cout c原创 2007-08-23 19:00:00 · 1365 阅读 · 1 评论 -
关于Linux下C/C++程序编译
在编译之前我们需要在系统里安装G++ GCC,它们就是Linux下的C++/C的编译器。代码如下代码:sudo apt-get install build-essentialsudo apt-get install gccsudo apt-get install g++好,现在我们在文本编辑器里写一个C的简单的程序(好像所有学习C或者C++的书都会出现)代码:#include int main(转载 2007-08-23 18:15:00 · 925 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast、和const_cast
static_cast、dynamic_cast、reinterpret_cast、和const_cast关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic转载 2008-04-10 14:04:00 · 526 阅读 · 0 评论