C/C++
文章平均质量分 77
丫就是熊个猫猫
to be a better me !进一寸有一寸的欢喜~
展开
-
C语言大纲——数据类型
如何定义变量变量字节长度、取值范围计算机数据的存储变量与常量虚拟地址空间分布图输入输出原创 2016-06-08 18:24:04 · 762 阅读 · 0 评论 -
sizeof与strlen的注意事项
原文章出处:http://blog.csdn.net/hello_world6/article/details/51593738为什么会写sizeof与strlen的区别与联系,主要遇到的问题:char a[] = “abcdef”;char b[] = {‘a’,’b’,’c’,’d’,’e’,’f’};printf(“%d\n”,strlen(a));//输转载 2016-07-07 16:55:47 · 733 阅读 · 0 评论 -
嵌入式C语言实战开发详解(二)
一、运算符与表达式1、算数运算符自增、自减运算符详解:#includeint main(){int i = 2;num = (i++) + (i++) +(i++)+ (i++)printf("%d%d\n"i,num); return 0;}输出 num = 8; i = 6i++使用结束之后再自加++i先自加再使原创 2016-07-14 11:32:47 · 1184 阅读 · 0 评论 -
Linux开发工具之编译器gcc
Linux开发工具有:编译器gcc 调试器gdb工程管理器make以及脚本语言shell这篇我主要浅谈一下编译器gcc的功能以及相关的使用方法,其他开发工具会依次的另写博客进行详谈。提到Linux我们首先得提到开源社区的相关协议。GPL协议:在开源社区的原码,修改后也必须开源(其它内容请自主查询)POSIX标准:软件既可以在UNIX上运行,也能在Linux上运行G原创 2016-07-09 11:31:58 · 864 阅读 · 0 评论 -
Linux开发工具之调试器gdb
GDB三方面的功能:1、启动被调试程序2、让被调试的程序在指定的位置挺住3、当程序被停住时,可以检查程序状态现在让我们就实例进行对gdb功能的了解:创建一个demo.c,写如下程序:#includeint add_sum(int sum){ int temp = 15; sum = sum + temp; return sum;原创 2016-07-09 15:28:39 · 801 阅读 · 0 评论 -
嵌入式C语言实战开发详解(四)
一、内存管理1、你的数据放哪里? 栈空间:局部变量、函数形参、自动变量(调用后释放)堆空间:malloc、realloc、calloc分配空间数据段:bss:保存未初始化的全局变量 rodata:常量 .data(静态数据区):全局变量、static修饰变量(程序结束后释放)2、内存的分配方式(1)从全局数据区分配(2)在栈上创建原创 2016-07-21 10:37:17 · 2082 阅读 · 0 评论 -
面向对象处理机制VS面向结构处理机制
首先我们得知道C语言是面向过程的,而C++和Java是面向结构的。面向过程与面向结构的区别:面向过程中重用的是过程和函数,但是面向对象重用的是类,一种将数据和处理数据的过程及函数封装在一起的实体,面向对象一个很大的好处就是数据 和方法的封装,由此面向对象的三大特性得到发挥。面向过程追究的是实现,而面向对象追究的是结果。举例来说,从出发点A到目的地B,面向过程要做的是规划每一条路原创 2016-07-11 09:11:44 · 1015 阅读 · 0 评论 -
[Windows网络编程课设]南工程聊天室客户端源码
南京工程学院通信工程学院的《Windows网络编程》一课的课程设计源码,聊天室的搭构需要服务器和客户端。服务器源码请看上一篇博文,都有贴出。备注也很详细,可以参考一下。不过作为聊天室功能也很多的,我这里贴出的代码功能实现的并不全面。如果有同学对此作出改进,希望可以交流一下。原创 2016-09-20 18:46:17 · 1210 阅读 · 0 评论 -
[Windows网络编程课设]南工程聊天室服务器源码
南工程聊天室服务器源码MyMsg.h:MyTalk.cpp原创 2016-09-19 18:46:34 · 1194 阅读 · 0 评论 -
浅谈pthread_setschedparam的使用
int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param)在多线程开发中经常被使用的,它主要用于设置线程的调用策略和优先级。在介绍它的使用方法之前,我们先简单的介绍一下它的使用参数。1. target_thread是使用pthread_create所获得的线程ID。2.线程的调度有三种策略:SCHED_OTHER、SCHED_RR和SCHED_FIFO。Poli转载 2016-11-23 16:57:47 · 661 阅读 · 0 评论 -
define与typedef的区别
原文出处:http://www.nowcoder.com/test/question/done?tid=3699120&qid=14371#summary1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r转载 2016-07-09 09:10:44 · 534 阅读 · 0 评论 -
C++类和类的定义
原文出处:http://www.yesky.com/22/194022.shtml 在面向对象的程序设计中,有经常接触类、对象等专业名词;到底什么是类、什么是对象呢?在程序又是怎样运用呢?类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的。没转载 2016-07-09 09:40:05 · 826 阅读 · 0 评论 -
C语言大纲——C语言的概述
学习C语言,掌握完整的C语言体系非常重要!以下是我就梁老师课上所提重点进行拓展衍生。 本文是C语言第一章的整理拓展!有误的地方希望大家批评指正,不胜感激~原创 2016-06-04 16:41:37 · 812 阅读 · 0 评论 -
Linux开发工具之工程管理器make
此篇博文部分引用梁庚、陈明、马小录老师《高质量嵌入式Linux C编程》一书在实际的开发过程中,仅仅通过使用gcc命令对程序进行编译是非常低效的,原因为:(1)程序往往是由多个源文件组成的,源文件的个数越多,那么gcc的命令行就会越长。此外,各种的编译规则也会加大gcc命令行的复杂度,所以在开发调试程序的过程中,通过输入gcc命令行来编译程序是很麻烦的。(2)在程序的整个开发过程中,调原创 2016-07-09 17:21:04 · 2514 阅读 · 0 评论 -
嵌入式C语言实战开发(五)
一、关键字1、register关键字(1)register作用的实现原理?计算机的三大组成部分: CPU的三大组成部分:运算器、控制器、存储器 cache高速缓存器 存储器 寄存器 (2)为什么要把变量变为寄存器变量?(register关键字作用?)经常被访问的变量我们就可以用regis原创 2016-07-25 11:26:07 · 1560 阅读 · 0 评论 -
单链表代码模板
不带表头的单链表、带表头的单链表、单向循环链表、双向循环链表原创 2016-07-25 13:50:40 · 583 阅读 · 0 评论 -
嵌入式C语言实战开发详解(一)
一、概述1、嵌入式开发中为什么选择C语言?因为操作系统的内核都是使用的C语言,而且C语言也有如下几个优点:(1)出色的移植性,能在多种不同体系结构的软/硬平台上运行(修改量越小,移植性越好);(2)简洁紧凑,使用灵活的语法机制,并能直接访问硬件(效率高);(3)很高的运行效率原创 2016-07-10 23:26:21 · 9323 阅读 · 0 评论 -
嵌入式C语言实战开发详解(三)
一、原创 2016-07-19 16:01:07 · 865 阅读 · 0 评论 -
C语言实现面向对象
面向对象的程序设计方法使一种基于结构的分析的、以数据为中心的程序设计方法。在面向对象的程序中,活动的基本单位是对象,向对象发送消息可以激活对象的行为。所以,面向对象消息机制设计=对象+消息传递。C语言虽然是一个面向过程的语言,它本身并没有提供的面向对象机制,但是通过合理的利用C语言提供的一些机制,可以简单的模拟出种种面向对象的基本特性。(1)支持抽象数据类型:C语言中的结构体可以对具体的事原创 2016-07-21 21:40:55 · 620 阅读 · 0 评论 -
malloc、realloc、calloc区别
(1)C语言跟内存分配方式 从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量. 在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限. 从堆上分配,亦原创 2016-07-19 15:41:59 · 439 阅读 · 0 评论 -
使用scanf函数时应该注意的问题
原文网址:http://blog.csdn.net/mishifangxiangdefeng/article/details/71630021、scanf()中的变量必须使用地址。 2、scanf()的格式控制串可以使用空白字符或其它非空白字符,使用空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。使用非空白字符会使scanf()函数在读入时剔除掉与转载 2016-07-14 14:52:47 · 1348 阅读 · 0 评论 -
Hanoi塔问题
上图为 3 阶 Hanoi 塔假设有三个命名为 A B C 的塔座 ,在塔座A上插有n个直径大小不相同,由小到大编号为1 ,2 ,3 ,··· ,n的圆盘,要求将A座上的圆盘移至塔座C并按同样的顺序叠排圆盘移动必须遵守下列规则:1:每次只能移动一个圆盘 2:圆盘可以插在任意一个塔座上 3:任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上 该问题的复杂性:若有n个盘子,則移动完所需之次数为2^n - 1,所以当盘数为64时,则所需次数为: 2^64 - 1 = 18446转载 2017-08-03 12:27:06 · 709 阅读 · 0 评论