![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 72
Thinylee
这个作者很懒,什么都没留下…
展开
-
空指针(NULL,0),野指针,void*
一:野指针“野指针”不是NULL指针,是指向“垃圾”内存的指针。“野指针”的成因主要有两种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。例如 char *p = NULL; char *str = (char *) malloc(100);(2)指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。free和原创 2011-05-30 17:54:00 · 2838 阅读 · 1 评论 -
Unix/Linux使用core文件调试程序
Linux系统中在应用程序运行过程中经常会遇到程序突然崩溃,提示:Segmentation fault,这是因为应用程序收到了SIGSEGV信号。这个信号提示当进程发生了无效的存储访问,当接收到这个信号时,缺省动作是:终止w/core。 终止w/core的含义是:在进程当前目录生成core文件,并将进程的内存映象复制到core文件中,core文件的默认名称就是“core”(这是Unix类系统的原创 2012-03-01 10:21:14 · 873 阅读 · 0 评论 -
python os模块
Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep 可以取代操作系统特定的路径分割符。os.name字符串指示你正在使用的平台。原创 2012-02-15 09:25:29 · 459 阅读 · 0 评论 -
spool导出及sqllder导入。
#!/bin/bashsqlplus -s $DB_NAME <<EXPset pages 50000;set lines 200; set trims on;set heading off;set feedback offspool "lwc_test.csv";select test_id||','||test_name||','||test_sex from lwc_原创 2011-11-23 14:11:40 · 1125 阅读 · 0 评论 -
c++ static及const(开发者在线)
static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 1、引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为转载 2011-12-26 12:55:14 · 390 阅读 · 0 评论 -
关于局部变量回收
代码如下:#include "stdafx.h"#include int * getValue(){ int abb = 111; return &abb;} int main(int argc, char* argv[]){ int xx= (*getValue()); int a =2,b=3,c=4,d=5,e=4,f=5,g=5; printf(原创 2011-11-29 15:05:51 · 1041 阅读 · 0 评论 -
c++学习(类的访问规则)
1.关于继承及访问。C++中 public,protected, private 访问标号小结,即访问标号使用限制。第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其转载 2011-12-21 09:27:47 · 618 阅读 · 0 评论 -
C/C++内存管理
1.相关链接1.http://club.topsage.com/thread-443540-1-1.html2.http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html2.栈内存,堆内存 如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1中,Test函数的语句GetMemory(转载 2011-12-14 11:39:49 · 355 阅读 · 0 评论 -
指针
全部都忘了,NND。这记性越来越不好了。int (*pz)[2]:pz指向包含两个int值的数组。int *pz [2]:创建两个指向单个int值的指针。int *p=123;//是给p赋值为123,p是一个指针,123 编辑器默认为 const int, 所以会报错! int *p=0; //将指针初始值设为0, 0是一个特殊的常量,编辑器原创 2011-12-06 14:57:29 · 482 阅读 · 0 评论 -
使用内存映射文件来提高你程序的性能
参考一:http://baike.baidu.com/view/394293.htm参考二:http://www.cnblogs.com/fangyukuan/archive/2010/09/09/1822216.html练习代码:#include "stdafx.h"#include "windows.h"#include using namespace std;转载 2011-12-02 11:05:59 · 741 阅读 · 0 评论 -
关于库文件
h头文件作用:声明函数接口dll动态链接库作用:含有函数的可执行代码lib库有两种:(1)静态链接库(Static Libary,以下简称“静态库”)(2)动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)两者的区别:实质是不一样的东西。静态库本身就包含了实际执行代码、符号表等等,而对于导入库而转载 2011-12-02 11:00:20 · 384 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发转载 2011-07-13 14:18:00 · 459 阅读 · 0 评论 -
funclist(不断更新)
/*filename:funclist.c list some useful functions in stander lib, which we can use directly. */ /*1:getopt()*/ while ((c = getopt(argc, argv, "l:i:s:p:h")) != -1) { switch (c) {原创 2011-06-14 10:20:00 · 554 阅读 · 0 评论 -
malloc,free
1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。2原创 2011-06-14 10:33:00 · 425 阅读 · 0 评论 -
UNIX消息队列
发送端:/* The sender program is very similar to msg1.c. In the main set up, delete the msg_to_receive declaration and replace it with buffer[BUFSIZ], remove the message queue delete and make the fo原创 2012-06-13 20:50:34 · 558 阅读 · 0 评论