c/c++
jlccwss
行业IT:
格言:深入,深入,再深入!!!
展开
-
类String的原型
已知类String的原型为:class String {public:String(const char *str =NULL); //普通构造函数String(const String&s); //拷贝构造函数~String(); //析构函数String & operator =(const String &s); //赋值函数private原创 2008-10-28 12:45:00 · 1658 阅读 · 0 评论 -
Libpcap抓包原理
最近看的开源代码是有关网络监控的,它使用Libpcap进行抓包,然后处理。为了更好的理解代码的实现过程,我关注了Libpcap的抓包原理,至于详细的实现暂时还没有研究。1libpcap的工作原理1.1组成部分 libpcap主要由两部份组成:网络分接头(Network Tap)和数据过滤器(Packet Filter)。网络分接头从网络设备驱动程序中收集数据拷贝,过滤器决定是否接收转载 2012-01-06 11:23:19 · 1204 阅读 · 0 评论 -
精典C程序设计100例
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i for(j=1;j for (k=1;k转载 2012-01-05 16:09:57 · 546 阅读 · 0 评论 -
C++五大内存分区
C++五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个d转载 2012-01-05 16:11:19 · 408 阅读 · 0 评论 -
C/C++简答题
5、 谈谈你对C++三个特点的理解(简单描述一下)。 6、 为什么要封装,如何解释他的用意。 7、 多态的实现机制。 8、 纯虚函数的概念,有什么作用。 9、 友元函数的优点和缺点。 10、 TCP/IP中服务器端和客户端的实现流程。 11、 服务器端是如转载 2012-01-05 16:11:41 · 2883 阅读 · 0 评论 -
C/C++笔试题2
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范转载 2012-01-05 16:13:36 · 482 阅读 · 0 评论 -
bcb5_Packages_bcb6
你用什么打包,要是用BCB5的打包程序打包CB5程序一点问题都不应该有,当然你用CB5的那个打包程序打包CB6程序,你可以参看: 用BCB5的打包程序打包BCB6 (本文仅供CSDN与CCRUN使用,其他使用者请作者联系) 当我们用BCB做好了一个程序后,下一步要做的就的打包程序,发布给用户了。单从打包程序的角度来讲,我们的选择会有很多,就BCB来说,每个版本的BCB光盘上都有一个打包程序,对于这转载 2012-01-05 16:15:59 · 796 阅读 · 0 评论 -
C++实现大数阶乘
#include "stdafx.h" #include "stdio.h" #include "iostream.h" int main(int argc, char* argv[]){ int carry,n,j; int a[2000]; int digit=1; int temp,i; cout"please enter n:" cin>>n; a原创 2008-10-28 12:46:00 · 577 阅读 · 0 评论 -
C++中四种类型转换运算符的使用方法
C++的四个类型转换运算符具体归纳如下:reinterpret_cast该函数将一个类型的指针转换为另一个类型的指针.这种转换不用修改指针变量值存放格式(不改变指针变量值),只需在编译时重新解释指针的类型就可做到.reinterpret_cast 可以将指针值转换为一个整型数,但不能用于非指针类型的转换.例://基本类型指针的类型转换double d=9.2;d原创 2008-10-28 12:43:00 · 538 阅读 · 0 评论 -
Map的基本应用
一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所转载 2012-01-04 19:35:33 · 354 阅读 · 0 评论 -
pthread_create()之前的属性设置
一.pthread_create()之前的属性设置1.线程属性设置我们用pthread_create函数创建一个线程,在这个线程中,我们使用默认参数,即将该函数的第二个参数设为NULL。的确,对大多数程序来说,使用默认属性就够了,但我们还是有必要来了解一下线程的有关属性。属性结构为pthread_attr_t,它同样在头文件pthread.h中定义,属性值不能直接设置,须使用相关函数进转载 2012-01-04 19:35:55 · 1378 阅读 · 1 评论 -
STL中的常用的vector,map,set,Sort用法
C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。.一. vector1.声明: 一个vector类似于一个动态的一维数组。 vector a; //声明一个元素为int类型的转载 2012-01-05 16:07:49 · 355 阅读 · 0 评论 -
linux下c编程常识
主要内容:① 标准 (ANSI C, POSIX, SVID, XPG, ...)② 函数库和系统调用③ 在线文档 (man, info, HOW-TO, ...)④ C 语言编程风格⑤ 库和头文件的保存位置⑥ 共享库及其相关配置一: 标准 (ANSI C, POSIX, SVID, XPG, ...)ANSI C:这一标准是 ANSI(美国国家标准局)于 19转载 2012-01-05 16:16:25 · 506 阅读 · 0 评论 -
Neighbour table overflow.
问题:系统不停的刷printk: xxxx messages suppressed. Neighbour table overflow.这时ping 网卡IP时输出connect: No buffer space available网上查说arp表满的原因,很遗憾,出现问题的时候我没有看arp表解决: 1、没有攻击的情况下可以重启机器 2、echo "0转载 2012-01-05 16:17:53 · 699 阅读 · 0 评论 -
gcc基本用法
初学时最好从命令行入手,这样可以熟悉从编写程序、编译、调试和执行的整个过程。编写程序可以用vi/vim(个人觉得vim比vi好用)或其它编辑器编写。 编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。 gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。一. 常转载 2012-01-05 16:14:44 · 360 阅读 · 0 评论 -
C++:memset ,memcpy 和strcpy 的根本区别
#include "memory.h"memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof原创 2008-10-24 09:17:00 · 496 阅读 · 0 评论 -
C语言可变参数函数的实现
C语言可变参数函数的实现一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式: printf("%d",i);p转载 2008-10-18 10:10:00 · 576 阅读 · 0 评论 -
C/C++笔试题4
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个str转载 2012-01-05 16:10:57 · 343 阅读 · 0 评论 -
Indicating Resolver Support of DNSSEC
Network Working Group D. ConradRequest for Comments: 3225 Nominum, Inc.Category: Standards Track转载 2012-01-06 11:23:43 · 618 阅读 · 0 评论 -
C++五大内存分区
C++五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程转载 2008-10-18 10:13:00 · 772 阅读 · 0 评论 -
守护进程
在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。 守护进程,也就是通常说的Dae转载 2012-01-05 16:08:24 · 313 阅读 · 0 评论 -
有关多线程的一些技术问题
有关多线程的一些技术问题:1、 何时使用多线程?2、 线程如何同步?3、 线程之间如何通讯?4、 进程之间如何通讯?先来回答第一个问题,线程实际主要应用于四个主要领域,当然各个领域之间不是绝对孤立的,他们有可能是重叠的,但是每个程序应该都可以归于某个领域:1、 offloading time-consuming task。由辅助线程转载 2012-01-05 16:08:48 · 332 阅读 · 0 评论 -
C/C++笔试题5
C++笔试题4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区转载 2012-01-05 16:09:32 · 935 阅读 · 0 评论 -
关于new,delete与malloc,free的讨论
1,要通过基类的成员函数来访问。 2,最大的区别是new和delete比malloc/free多了构造和析构函数调用。Top2楼xjq2601()回复于 2006-12-13 23:12:43得分 0 第一题 那不能叫直接访问基类的私有成员吧Top3楼lxhtzy(天之翼)回复于 2006-12-13 23:35:57得分 0 1.转载 2012-01-05 16:10:36 · 494 阅读 · 0 评论 -
C/C++笔试题3
c++笔试题汇总(2)2008-05-23 21:2721. New delete 与malloc free 的联系与区别?答案:都是在堆(heap)上进行动态的内存操作。用malloc函数需要指定内存分配的字节数并且不能初始化对象,new 会自动调用对象的构造函数。delete 会调用对象的destructor,而free 不会调用对象的destructor.转载 2012-01-05 16:12:59 · 551 阅读 · 0 评论 -
C/C++笔试题1
· 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除转载 2012-01-05 16:13:58 · 573 阅读 · 0 评论 -
socket编程原理
socket编程原理 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用"打开"获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用"读/写"以传转载 2012-01-05 16:14:20 · 387 阅读 · 0 评论 -
Linux下的C编程实战之gcc\gdb\make
1 :文本编辑器2:Gcc 编译器的使用3:GDB debug调试器4:make一:文本编辑器在Linux平台下,可用任意一个文本编辑工具编辑源代码,但笔者建议使用emacs软件,它具备语法高亮、版本控制等附带功能二:GCC编译器 GCC 是 GNU 编译器集合(GNU Compiler Collection)的首字母缩写词。它可以编译 C,C++,转载 2012-01-05 16:16:46 · 456 阅读 · 0 评论