C笔记
stefan1240
这个作者很懒,什么都没留下…
展开
-
避免变量重复定义和重复包含头文件的方法
重复包含的影响:在预处理对时候,include相同的文件,预处理器会检查XXX是否有定义再决定要不要复制内容,重复包含会是编译器多检查几次而已。另外在使用增量编译的时候,这个文件变化,所有 include 这个文件的文件都需要重新编译,即使没有去使用里面的任何内容。避免方法:1.把头文件放在宏里:#ifndef 标志(这个标志本来可以随便自己定义,但是为了防止混乱,所以一般都会采用自己转载 2014-07-04 15:36:04 · 1440 阅读 · 0 评论 -
程序由多个原文件组成,gdb时如何在指定的某个文件中设置断点?
比如源文件有:file1.c file2.c main.c(包含file1.c file2.c )如果想在在file1.c中设置一个断点,如何做呢?原创 2014-07-06 10:41:59 · 5000 阅读 · 1 评论 -
手把手教你-gdb调试
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的转载 2014-07-06 10:47:00 · 568 阅读 · 0 评论 -
c的内存归纳
fgets函数fgets函数用来从文件中读入字符串。fgets函数的调用 形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从原创 2014-07-11 14:05:29 · 573 阅读 · 0 评论 -
warning:deprecated conversion from string constant to 'char *'解决方案
Linux 环境下当GCC版本比较高时,编译代码可能出现的问题问题是这样产生的,先看这个函数原型:void someFunc(char *someStr);再看这个函数调用:someFunc("I'm a string!");把这两个东西组合起来,用最新的g++编译一下就会得到标题中的警告。为什么呢?原来char *背后的含义是:给我个字符串,我要修转载 2014-11-25 18:41:56 · 594 阅读 · 0 评论 -
基类的析构函数是否一定为虚函数的相关测试
1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。 下面转自网络:源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html a.第一段代码 #includeusing namespace std;class ClxB转载 2015-04-19 21:36:27 · 518 阅读 · 0 评论 -
堆和栈的点点滴滴
原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是转载 2015-04-17 17:33:33 · 641 阅读 · 0 评论 -
字符串下划线替换-不开辟新的内存
处理一个字符串,把字符串中的'_'替换成'%A2',该字符串大空间足够大。要求不开辟新的内存。比如str[23]="abc_de__h"处理后:"abc%A2de%A2%A2h"思路:先把字符串的长度求出来为len.再把'_'个数num求出来,新的数字占用内存为len+num*2.接下来就能够进行替换了。代码如下:#include #include usin原创 2015-04-21 19:54:37 · 1092 阅读 · 0 评论