- 博客(37)
- 资源 (32)
- 问答 (1)
- 收藏
- 关注
原创 JavaScript Cookies
来源:http://www.w3school.com.cn/js/js_cookies.aspfunction getCookie(c_name){if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_
2014-02-26 11:27:31 1061
翻译 C/C++语言, 趣味问题
这个可能是一个比较经典的智力题了,和以前的那个《赛马问题》很相似,其题目如下:你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?这道题一开始看上去好像是无解的,因为你
2014-02-25 11:02:27 1218
原创 linux ubuntu 下 ‘string’ was not declared in this scope 解析
linux ubuntu 下 ‘string’ was not declared in this scope 报错 解析报错如下:[cpp] view plaincopyprint?test2.h:5:17: error: ‘string’ is not a member of ‘std’ aries@ubuntu:~/arie
2014-02-25 10:12:48 9748
原创 linux scoket 由浅入深系列-------- 详解(四)
声明:本文参考主要有linux网络编程和网络文章(吴秦)那什么是socket?socket的类型有哪些?还有socket的基本函数,下面我将一一介绍!Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口1、网络中进程之间
2014-02-22 11:04:26 2207 1
转载 用c写的一个简单web服务器实现 转载来自sdlcwangsong
本程序的目的是实现一个web服务器,在服务器启动时读取配置文件config.txt,然后浏览器向服务器发送请求,服务器向浏览器发送index.html,文件发送完毕后服务器关闭与浏览器的链接,告知浏览器文件已发送完毕,浏览器收到index.html文件后发现还有一个图片,于是再次发送请求,服务器接收到请求后又发送图片信息,发送完毕后关闭连接。之后,浏览器就显示了完整的网页了。下面是实现的程序(
2014-02-20 10:01:36 977
原创 C/C++ 微软面试经典剖析
1 分析下面的程序struct s1{int i: 8;int j: 4;int a: 3;double b;};struct s2{int i: 8;int j: 4;double b;int a:3;};printf("sizeof(s1)= %d\n", sizeof(s1));printf("sizeof(s2)= %d\n", sizeof
2014-02-18 22:28:41 2398
原创 C/C++ 面试经典基础题剖析
1 编写类String的构造函数、析构函数和赋值函数 class String { public: String(Const char *str = NULL);//普通构造函数 String(const String &other); //拷由构造函数 ~String(void)
2014-02-18 17:27:12 1539
原创 C/C++ 微软面试题 -链表
链表的结点结构struct Node{int data ;Node *next ;};typedef struct Node Node ;(1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)Node * ReverseList(Node *head) //链表逆序{if ( head == NULL || head->next == NULL
2014-02-18 14:28:26 2491
原创 linux 学习路线(初级到高级)
linux 个人感觉还是有点复杂(那么就以我的学习路线和经历)嵌入式Linux工程师嵌入式Linux工程师嵌入式Linux工程师首先 你要学习嵌入式的的有一个基础:大概如下1. 计算机、电子、通信、自动化、微电等理工科类大3以上的大学生及已毕业的工程技术人员; 2. 有一定C、C++、JAVA、C#等编程程序语言基础,喜欢并有志投身于
2014-02-17 12:07:03 13831
原创 C/C++ 微软面试题剖析
结构与联合有和区别?(1). 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻,联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。 (2). 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。1 关于“联合”的题目的输出#i ncl
2014-02-16 22:43:30 3238
原创 linux 进程间的通信方式总体介绍(一)
1、几种进程间的通信方式# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访
2014-02-16 20:50:04 1486
原创 Effecive C++ 解析3
来源: 本文主要参考书籍 Effective C++ 转载请标明出处(尊重原创,谢谢!)前面的 Effecive C++ 解析中分别:Effective C++ 解析 1 说明了条款 3 和 5 ,Effecive C++ 解析2:说明条款1 和 条款2Effecive C++ 解析3: 将介绍条款 4 和6条款4:尽量使用 C++风格的注释原因 1:c
2014-02-15 16:10:11 1280
原创 linux 下 如何自己写 ls 命令
有过linux 基础 都知道 ls 命令的作用下面给出代码#include #include #include #include #include #include #include #include #include #include int fun1(char *dir,char *filename){ struct stat buf; char out[1
2014-02-15 13:02:27 2799
原创 Effecive C++ 解析2
来源: 本文主要参考书籍 Effective C++ 转载请标明出处(尊重原创,谢谢!)前面的 Effective C++ 解析 1 说明了条款 3 和 5 那么下面继续来说明其他条款!Effecive C++ 解析2:将解析条款1 和 条款2条款 1:尽量用 const和inline而不用#define(其他名字:尽量用编译器而不用预处理)
2014-02-14 15:54:46 1691
原创 Effective C++ 解析 1
声明: 大四快毕业了,得面对社会得到offer(当然现在也有offer了 )! 来源: 本文主要参考书籍 Effective C++条款三1 尽量使用new 和 delete 而不使用malloc 和 freeEffective C++ 书籍上面也有相对应的小示例下面也主要是一个总结原因 1:delete会调用对象的析构函数,和new对应free只会释放内存,new调用
2014-02-14 10:59:04 2112
原创 linux c/c++ 聊天小程序代码示例 (使用socket 和 IO 多路复用技术)
声明:在linux 下的ubuntu 下编译运行(以下代码分为客服端和服务器段代码,可直接运行使用)客户端1 头文件 common.h #ifndef _CHAT_#define _CHAT_#include #include #include #include #include #include #include #include #include #
2014-02-13 19:07:52 5364 2
原创 Linux进程通信 FIFO
Linux进程通信 FIFOFIFO也称为有名管道,它是一种文件类型,在文件系统中可以看到。程序中可以查看文件stat结构中st_mode成员的值来判断文件是否是FIFO文件。创建一个FIFO文件类似于创建文件,FIFO文件就像普通文件一样FIFO中可以很好地解决在无关进程间数据交换的要求,并且由于它们是存在于文件系统中的,这也提供了一种比匿名管道更持久稳定的通信办法。
2014-02-13 18:55:21 1537
原创 面试突击——数据结构基础,排序
1 排序(转载,有一定程度的精简)在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的,若具有相同关键字的记录之间的相对次序发生变化,则称这种排序方法是不稳定的。选择排序:包括简单选择排序和堆排序。1 简单选择排序 示例:假设给定数组A[1......
2014-02-13 10:00:57 2775
原创 C/C++ 局部类和嵌套类
主要参考资料:C++编程思想和 高质量编程 以及网络文章局部类局部类是指在函数中定义类。(c++不能在函数中定义函数。c++在类中定义的函数也就是成员函数。)这个类以及由它创建的对象,都局限在该函数作用域中;必须在类内实现所有的成员函数,不能拿到类外。因为函数是不可以嵌套定义的;若类内含有静态数据成员,必须在该函数外初始化;类内不可含有静态函数成员;类中不可使用包裹它的函数
2014-02-12 14:15:48 4521 1
原创 & 符号有三种用法
个人区分引用还是地址比较模糊,给自己一个总结!1、类型&变量名,表示引用。2、数据&数据,表示按位相与。3、&变量名,表示地址。 区分的地方:1)引用在赋值=的左边,而取地址在赋值的右边,比如int a=3;int &b=a; //引用 int *p=&a; //取地址 2)和类型在一起的是引用,和变量在一起的
2014-02-12 10:03:20 10122 4
原创 C/C++ 高质量编程--内存,二重指针,指针的高级使用解析 3
内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序
2014-02-12 09:08:06 4173
原创 C/C++ 高质量编程--动态内存传递疑问解析 2
高质量编程--动态内存传递疑问解析#include " stdafx.h " #include using namespace std; // ----------------------------------------------- void GetMemory1( char * p) { p = ( char * )mall
2014-02-11 21:22:41 1537
原创 C/C++ 高质量编程--动态内存传递疑问解析 1
高质量编程 :中指针高级部分遇到动态内存传递疑问解析总结:值传递:对于函数来说,值传递就是一个人来了,给你一些数据,你对数据处理。地址传递:地址传递就是你通过地址找到一个人,然后直接对这个人处理。引用传递:而引用传递就是你要直接对一个人进行处理,通过名字对人访问,但你不知道那个人叫什么,就先起个随便的名字。谁来了,他的别名就是这个名字。但通过这个别名对人处理有一些限制,相比
2014-02-11 19:19:13 1400
原创 linux 下 C/C++ 实现取得当前时间
C/C++ 实现取得当前时间#include#include#include#include#include#define N 10int main(int argc,char *argv[]){ FILE *fp; int line=0; char buf[N]; if((fp=fopen("test.txt","a"))==NULL) {
2014-02-11 12:06:00 5066
原创 fopen fclose 示例解析
#include #include #include int main(int argc, char *argv[]){ FILE *fp1,*fp2; if(argc!= 3) { printf("comand error\n"); exit (-1); } fp1=fopen(argv[1], "r+"); if(NULL == fp1) { perr
2014-02-11 11:58:48 1390
原创 函数指针,指针函数疑惑解析
本文的主要参考书籍是 C++ Primer需要注意:函数指针所指向的函数,必须为全局函数或类的静态函数。函数指针是指向函数起始地址的指针,一般可以认为是函数名的变量形式,如:void f(int i) {printf("%d", i-1);} //函数,f是常量void g(int i) {printf("%d", i+1);} //函数,g是常量voi
2014-02-11 10:52:16 1357
原创 为什么必须实现虚析构函数 ,纯虚析构函数的原因
struct A { virtual ~A() = 0; }; struct B : A { virual ~B() {} }; int main( void ) { B x; } 编译的时候肯定报A::~A未实现,这是因为普通virtual只调用动态类型的那个函数实现,所以基类的可以不实现;而virtual析构函数则不同,它需要由下往上层层调用,所以每一层都需要实现。 另外,有没
2014-02-11 10:16:57 2356 1
原创 虚函数 多重继承的构造函数的调用,虚函数地址的找法
虚函数地址的找法:#include "stdafx.h"#include using namespace std;class CBase{public: virtual void who(){cout<<"CBase"<<endl;}};class CDerived:public CBase{public: virtual void who(){cout<<"
2014-02-11 10:05:43 1252
原创 C++为什么不提倡使用scanf和printf函数
Effective C++ 中文版条款2 尽量使用 而不用最重要的原因当然是C++提供了流对象‘>>’和‘’,它们代表了新观念。流对象能输出对象,而printf函数和scanf函数不能。此外,起码还有下面两个次要原因。首先让我们观察一下printf函数和scanf函数的声明,它们分别是:int printf( char *, ...);
2014-02-10 22:10:12 4858
原创 C++常类型(const 2)
本文的主要参考书籍是 C++ PrimeroK 有了前面的基础下面再来深入吧!使用const提高函数的健壮性 看到const关键字,C++程序员首先想到的可能是const常量.这可不是良好的条件反射.如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮.const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体const是constan
2014-02-10 10:32:04 1070
原创 C++常类型(const 1)
本文的主要参考书籍是 C++ Primer常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。 一般常量和对象常量 1. 一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。如: int const x=2; 或 c
2014-02-10 10:25:53 1170
翻译 只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路
【人生须知】1、世上只有想不通的人,没有走不通的路。 2、从崇高到荒唐只有一步,从荒唐到崇高却没有路。 3、生活的最高境界是宽容,相处的最高境界是尊重。 4、何谓生老病死?生的要好,老的要慢,病的要晚,死的要快。 5、能力就像一张支票,除非把它兑成
2014-02-09 22:31:33 2829
原创 scanf函数的内存越界问题
scanf函数的参数部分要求对变量进行取地址,由此我们知道,我们对是这个变量所在的那块内存进行的操作,这里就会产生一个问题:内存越界:1.如:输入:12345结果:从结果看当scanf以%s字符串格式输入超过数组a[5]范围时,会发生内存越界。这样a[5]里的数据不能看做字符串,因为不是以\0结尾的,这种内存越界发生时,会出现莫名其妙的程序运行结果。2、%mc宽度内
2014-02-09 19:56:46 2717
原创 C++ volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint; 当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即
2014-02-09 14:06:02 3803
原创 C/C++从入门到进阶必修书籍
C到C++ 学习入门到进阶到专业(以下是学习资料文档)开发语言排序文档名称URL链接难度c入门级1你必须知道的495个C语言问题http://download.csdn.net/download/u013468134/68433432C语言深度剖析http://download.csdn.n
2014-02-09 11:29:25 6353 18
原创 c++ extern的用法解析
引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方
2014-02-09 11:04:03 1504
转载 操作系统之进程管理
分析一下进程间的相互作用,即进程的互斥、同步与通信。 进程互斥是进程之间所发生的一种间接性相互作用,这种相互作用是进程本身所不希望的,也是运行进程感觉不到的。进程互斥既可能发生在相关的进程之间,也可能发生在不相关的进程之间。 几个概念需要了解: 共享变量:多个进程均需访问的变量称为共享变量。 临界区:访问共享变量的
2014-02-05 21:22:40 882
java 协同过滤实现
2017-08-28
uboot-2440 移植过程
2017-05-08
Linux常见驱动源码分析
2017-05-02
linux下C语言操作sqlite3数据库封装
2016-05-26
linux下串口调试工具,含源码
2016-05-10
mfc 自绘按钮
2014-11-27
MF CCCriticalSection例子
2014-04-17
MFC CCriticalSection 关键段例子
2014-04-17
mongo 内嵌数据更新?
2017-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人