自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的空间

不积跬步无以至千里,愿与君共勉!

  • 博客(16)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 在C++程序中调用被 C 编译器编译后的函数库,为什么要加 extern “C”声明?

C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字。与C 语言的不同。假设某个函数的原型为: void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo , 而C++ 编译器则会产生像_foo_int_int 之类的名字。 如果C++程序要

2018-01-30 16:41:36 409

原创 什么是预编译?何时需要预编译?

什么是预编译:预编译又称为预处理 , 是做些代码文本的替换工作。处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。C 编译系统在对程

2018-01-30 16:40:44 2123

原创 关键字 const 含义、作用,与#define相比的优点

const意味着”只读”本质:const在谁后面谁就不可以修改,const在最前面则将其后移一位,二者等效。下面的声明都是什么意思?const int a;int const a;//前两个的作用是一样,a是一个常整型数。const int *a;//意味着a是一个指向常整型数的指针(也就是,整型数是不可 修改的,但指针可以)。int * const a;/

2018-01-30 16:40:22 447

原创 简述数组与指针的区别

1.数组是一连续的记忆体区块,必须要先决定配置容量和存放的资料型态。当数组作为函数的参数进行传递时,数组就自动退化为通指针类型,数组名可作为指针常量。2.指针是指针变量的简称,这个变量存放的地址值,是可以改变的;3.int a[10]; //系统实实在在分配了10*4个字节的连续内存单元int* p=a;//也可以写成 int* p = &a[0];p指向数组a[10]的首地址

2018-01-30 16:39:49 495

原创 系统调用与库函数的区别

库函数系统调用1平台移植性好,不同环境使用相似依赖于内核,不保证移植,各个操作系统使用不同2调用函数库调用内核服务3与用户程序相联系,一个普通功能函数的调用是操作系统的一个入口4用户地址空间运行在内核地址空间运行

2018-01-30 16:39:05 339

原创 内存分配及堆与栈的区别

1.内存分配方式内存分配方式有三种:       1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。       2.从栈上分配。函数内的局部变量的存储单元,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。       3.从堆上分配,亦称动态内

2018-01-30 16:38:22 287

原创 C语言中常见的内存错误与解决方法(含野指针概念)

常见的错误      关于内存的一些知识已在内存分配中提及,现记录与分享常见的内存错误与对策。类型 1:内存未分配成功,却使用了它。方   法:在使用之前检查指针是否为NULL。             1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进行断言检查。             2)当使用malloc或new来申请内存时,应该用if(p

2018-01-30 16:35:51 381

原创 sizeof 和 strlen 的区别

1.sizeof是操作符,strlen是函数。2.在计算字符串数组的长度上有区别,例如:char str[20] = "0123456789";int a = strlen(str);//a=10;int b = sizeof(str);//而b=20;a 计算的是以0x00结束的字符串的长度(不包括0x00结束符)这里结果为10;b 计算的则是分配的数组 str[20]

2018-01-30 16:34:40 280

原创 C++ TCP通信

TCP通信过程:UDP通信过程:WSAStartup()此函数在应用程序中初始化Windows Sockets DLL ,只有此函数调用成功后,应用程序才可以再调用其他Windows Sockets DLL中的API函数。在程式中调用该函数的形式如下:WSAStartup((WORD)((1其中(1Socket

2018-01-29 15:42:52 851

原创 网络的基本概念

网络模型OSI层模型、TCP/IP的层模型如下所示:TCP/IP:传输控制协议/网络协议OSI:开放式系统互联TCP/IP各层对应的协议如下所示:由模型可知:IP协议:对应于网络层,是网络层的协议,TCP协议:对应于传输层,是传输层的协议,主要解决数据如何在网络中传输。HTTP协议:对应于应用层,是应用层的协议,主要解决如何包装数据。So

2018-01-29 15:40:38 262

原创 C++11 thread 及互斥锁、条件变量

启动的格式:#include //包含头文件void fucntion();//定义一个线程执行的函数thread t1(fucntion);//线程启动这个函数//一创建就自动运行,主线程非阻塞void factorial(int n,char b,..);//带参数的函数,参数的个数顺延thread t2(factorial,5,'a

2018-01-25 21:25:24 3711

原创 C++进程、线程、多线程概念及线程的优缺点

进程:进程是一个正在执行的程序,是向CPU申请资源的,进程之间数据相互独立,一个进程至少有一个线程。线程:线程是进程中的单一的顺序控制流程也可以叫做最小控制单元,线程是进程中执行单元,开启一个线程比开启一个进程更加节省资源。 多线程:多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任

2018-01-25 21:24:39 4363

原创 堆和栈的主要区别

1申请方式和回收方式      stack:   由系统自动分配。  例如,声明在函数中一个局部变量 int b;  系统自动在栈中为b开辟空间      heap:    需要程序员自己申请,并指明大小,在c中malloc函数      如p1   =   (char   *)malloc(10);      在C++中用new运算符      如p2   =

2018-01-23 21:03:20 285 1

原创 程序的内存分配即一个由C/C++编译的程序占用的内存分为以下几个部分

一个由C/C++编译到程序占用的内存分为以下几个部分:1、栈区(stack)——由编译器自动分配释放,在不需要的时候自动清除。用于存放函数的参数、局部变量等。操作方式类似数据结构中的栈(后进先出)。2、堆区(heap)——一般由程序员分配释放,若程序员分配后不释放,程序结束后可能由OS回收。不同于数据结构中的堆,分配方式有些类似链表。3、全局区(静态区)——全局变量和静态变量存

2018-01-23 20:13:24 736

原创 static 全局变量、局部变量、函数与普通全局变量、局部变量、函数区别

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不

2018-01-23 19:57:51 530

原创 关键字static的作用

static关键字至少有下列n个作用:(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)限制函数的作用域,在模块内的static函数只可被这一模块内的其它函数调用,这个函数

2018-01-23 19:35:43 251

基于51单片机12864液晶屏的贪吃蛇游戏

基于51单片机12864液晶屏的贪吃蛇游戏,通过红外遥控器控制,可以上下左右移动、暂停、背景音乐、多种难易程度和游戏地图供你选择、华丽滴菜单等,单片机型号为STC15F60S2,内含项目源代码、自己设计的15系列单片机原理图、PCB、项目文档以及项目演示视频照片等。

2018-03-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除